jQuery解析Json实例的详细说明
本文说明了jQuery解析Json的方法。分享给大家参考,如下:
序
在WEB数据传输过程中,json是以轻量级的文本形式,也就是字符串的形式进行传输的,而客户端一般是用JS对接收到的JSON对象进行操作。因此,JSON对象和JSON字符串之间的转换以及JSON数据的分析是关键点。
首先定义两个概念,例如:
JSON :的复制代码如下: varst R1=' { ' name ' : ' deyuyi ',' sex ' : ' man ' }JSON对象:的复制代码如下: varst R2={ ' name ' 3360 ' deluyi ',' sex' :' man'}。可以简单理解为:
JSON对象是JQuery可以直接操作的格式,就像在C#中,属性(方法)可以被对象(类名)指出;
JSON只是一个字符串,一个整体。如果不拦截,就不能取出里面存储的数据,也不能直接使用,除非你只是想提醒()他;
1.将JSON字符串转换为JSON对象。
要使用上面的str1,您必须首先使用以下方法将其转换为JSON对象:
答:评估功能
eval函数可以直接将符合JSON格式或者近似符合JSON格式的字符串转换为JSON对象,使用方式如下:
eval('(' str ')');//其中str是符合此标题描述的字符串。
//从JSON字符串转换为JSON对象var str=' { ' name ' : ' John ' }var obj=eval('(' str ')');alert(obj . name);var str2=' { ' name ' : ' John ' }var obj 2=eval('(' str 2 ')');alert(obj 2 . name);var str3=' { name: ' John ' }var obj 3=eval('(' str 3 ')');alert(obj 3 . name);以上所有这些都将输出结果“john”。
评估模式可以转换以下标准和非标准格式字符串:
var str=' { ' name ' : ' John ' }var str2=' { ' name ' : ' John ' }var str3=' { name: ' John ' }请看这个例子的下载包:JqueryDemo1.html。
B: parsejson函数。
另一个将标准字符串转换为JSON对象的函数是parseJSON(),它被用作jQuery.parseJSON(str)/,其中str是符合此标题描述的字符串。
//从JSON字符串转换为JSON对象var str=' { ' name ' : ' John ' }var obj=jquery . parsejson(str)alert(' 1 ' obj . name);以上所有这些都将输出结果“john”。
这种方式只支持标准格式:var str=' { ' name ' : ' John ' }
请看这个例子的下载包:JqueryDemo2.html。
C: JSON.parse函数。
另一个将标准字符串转换为JSON对象的函数是JSON.parse(),它被用作JSON.parse(str)//,其中str是满足此标题描述的字符串。
var str='{ 'name': 'mady ',' age ' : ' 24 ' }var obj=JSON . parse(str);alert(obj . name);以上所有这些都将输出结果“john”。
这种方式只支持标准格式:var str=' { ' name ' : ' John ' }
请看这个例子的下载包:JqueryDemo3.html。
以上结果一致,输出所有名称,如下图所示:
特别是如果obj是JSON对象,用eval()函数转换后(甚至多次转换后)还是JSON对象,但是用parseJSON()函数处理后会出现问题(抛出语法异常)。
d:其他模式
如果忍不住想出错,很想解析非标准、不规则的字符串,比如复制代码如下: {name : mady,age :23}或者复制代码如下: {name 3360' mady,age :23}等你能想到的性质正确的非法格式,那么有扩展库来解决。
Jquery-json扩展库
在这里下载:http://code.google.com/p/jquery-json/.
该库用于扩展jQuery。对于JSON的使用,扩展了两个函数:toJSON和parseJSON。
toJSON函数用于将一个普通的JavaScript对象序列化为一个JSON对象。ParseJSON函数也用于将一个普通的JavaScript对象序列化为JSON对象。
var数据=$。toJSON({ x: 2,y : 3 });var obj=jQuery.parseJSON(数据);alert(obj . x);var str={ plugin : ' jquery-JSON ',版本: 2.3 };var data2=$。托杰森;var obj 2=jquery . parsejson(data 2);alert(obj 2 . plugin);以上代码执行结果如下:
请看这个例子的下载包:JqueryDemo5.html。
其次,将JSON对象转换为字符串。
您可以使用toJSONString()或全局方法JSON.stringify()将JSON对象转换为JSON字符串。示例:复制代码如下: var last=obj . tojsonstring();//将JSON对象转换为JSON字符或。
var last=JSON . stringify(obj);//将JSON对象转换为JSON字符提醒(最后一个);第三,解析和读取JSON。
在我们以各种方式将字符串转换为JSON对象后,我们会解析它。上例:复制代码如下:varstr2={'name' :' mady ',' sex ' : ' man ' };可以这样读:复制代码如下: alert(str 2 . name);//就像C#一样,直接弹出“mady”到退出点…我们遇到的JSON很少这么简单,比如稍微复杂一点的JSON对象,比如:复制代码如下: varstr={ ' getuserpostbyidresult ' : { ' age ' : ' 33 ',' id' :' 2server ',' name ' : ' mady ' } }使用:alert(str . getuserpostbyidresult . name);//一次点击不了,但会弹出几次:“mady”。
再复杂一点,例如,复制代码如下: vardata=' { root :[{ ' name ' : ' 6200 ',' value' :' 0'},{'name' :' 6101 ',' value' :' xa ' 'value':'beijing'},{'name':'6103 ',' value ' : ' haer bin ' }]} ';如果你想单挑,分析一下:复制代码如下: alert (dataobj。根[0]。姓名);弹出:“6200”。
如果要分组挑选,请使用:
$.每个(dataObj.root,函数(索引,项){ $('#info ')。追加(' div '索引' : ' item . name '/div ' div '索引' : ' item . value '/div HR/');});其中“#info”是一个DIV的ID。输入结果如下:
请看这个例子的下载包:JqueryDemo4.html。
注意:如果要在本例中使用其他转换函数,请将字符串中的单引号改为双引号,外引号改为单引号。本文完整的示例代码可在此下载。
希望本文对大家的jQuery程序设计有所帮助。
版权声明:jQuery解析Json实例的详细说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。