如何从json的字符串数据中直接执js代码

如何从json的字符串数据中直接执js代码,第1张

将json对象返回页面。页面解析
如页面拿到var test = {name:"123",script:"alert('123')"}的json对象。
然后解析出脚本testscript;
调用js的eval()方法执行。--------eval(testscript);

用jsp生成json要经过一下步骤:
1、浏览器请求服务端某个页面
2、服务端页面(jsp/php/asp等)生成页面数据(html/css/js/json等)
3、浏览器显示页面内容,执行页面脚本
jsp生成数据示例如下:
// 例子使用fastjson
List<String> names = new LinkedList<String>(); // 任意Collection都可以
namesadd("张三");
namesadd("李四");
JSONObject value= new JSONObject();
valueput("names", names); // 这样就放了一个数组了
valueput("id", "123456"); // 放一个字符串
Systemoutprintln(valuetoJSONString());//
js解析json数据示例如下:
// 解析json数据
// 如果jsong数据是一个字符串
var myjson=eval("("+myjsonstring+")")
alert(myjsonid)
alert(myjsonnameslength)

1 js通过变量获得json数据
完全搞不懂你想做什么

首先,你的概念完全搞错了,这里跟JSON没有任何关系,你定义的这个data变量,是使用字面量表示法定义了一个对象,并且赋予了一些属性。这个过程和结果跟JSON没有任何关系。JSON只是一种文本格式,你这里并没有用到,基础概念要搞清楚。

其次,你这里定义的data并没有text这个属性,所以你datatext当然不会访问到任何数据

如果你的想法是,获取#text中的值,以其作为键,输出data对象中的值,那样该这么做
var text=documentgetElementById("text")value;

var datas=data[text];用[]可以使用变量字面量
2 js里怎么把对象转化为json数据
语法:JSONstriny(value [, replacer] [, space])value:是必须要的字段。

就是输入的对象,比如数组了、类了等等。replacer:这个是可选的。

它又分为2种方式,一种是方法,第二种是数组。var student = new Object();studentname = "Lanny";studentage = "25";studentlocation = "China";var json = JSONstriny(student);alert(student);。
3 js中如何 *** 作json数据
一、要想熟练的 *** 作json数据,就先要了解json数据的结构,json有两种结构:对象和数组。

1、对象

一个对象以“{”开始,“}”结束。每个“名称”后跟一个“:”;“‘名称/值’

对”之间使用“,”分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不需要。例如:

var jsonObj=

二、JSON(JavaScript Object Notation)

是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。json在传输过程中是以文本形式存在的,即字符串的形式。而在JS

中需要 *** 作的是对象,所以需要把json转换成对象,一般用“eval_r()”函数来实现,例如:varobj = eval_r('(' + json+ ')'); 这样就可以随意 *** 作json了。

for(var i=0;i

alert("key:"+key+",value:"+jsonList[i][key]);} }用这种方法就可以解析json数据了。
4 怎样将json格式的数据放到js中
如果数据是固定的有两种方法

1把json数据定义为一个变量

var json = {"a":1,"b",2};

这样可以直接调用,数据太多可以放到一个额外的 js 文件上2数据写在一个文件上,命名为ajson

$getJson(url,funciton(rs){

url是文件路径,例如 /json/ajson

rs就是返回的json数据了

});

如果数据是后台传过来的

$post(url,data,function(rs){

url是后台controller的方法的路径

data 是传到后台的json格式的参数,可选

rs是返回的数据

},"json");最后这个json不能漏

m_connect=0;
Sleep(500);
GetDlgItem(IDC_BUTTON_CONNECT)->SetWindowText("连接");
VCI_CloseDevice(m_devtype,m_devind);
return;
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/13412033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-31
下一篇 2023-07-31

发表评论

登录后才能评论

评论列表(0条)

保存