js解析json对象详细说明
来源:互联网 发布:淘宝网警服 编辑:程序博客网 时间:2024/05/05 06:11
转载:http://www.111cn.net/wy/js-ajax/35176.htm
js的data转换为json对象方法
function callback(str) {
var json = eval('(' + str + ')');
}
...
现在都不建议用eval了,解析json,可以用这个
function jsondecode(data) {
return (new function("return " + data))();
}
json分析实例
json和xml进行比较,二者都是将对象扁平化(稍后我们解释这个“扁平化”)的一种手段,xml的特点是结构严谨,而json的特点则是简单易读、容易使用程序进行分析,因为它能够很简单的将一个对象转换为一个字符流的形式,例如如下代码:
{"type":"human","name":"hanguofeng","age":22}
则是一个json表达式,他保存了一个对象,我们如何将它恢复为对象呢?很简单,如下:
var animal_str = '{"type":"human","name":"hanguofeng","age":22}';
var animal2=eval('(' + animal_str + ')');
注意括号的使用, php教程传过来的值如果没有用括号包括,js就得处理.. 处理完成后,就可以访问像php一样访问数组.
alert(amimal2[1]['id']) //这样.
我们通过网页特效的求值函数,将json表达式进行运算,并返回值,用以获得一个对象。
php的串行化和json是非常像的,一个php的串行化表达式如下:
a:3:{s:4:"type";s:5:"human";s:4:"name";s:10:"hanguofeng";s:3:"age";s:2:"20";}
他看起来结构和json有些类似,实际上,这个表达式是如下数组的串行化结果:
$animal =
array
(
"type" => "human",
"name" => "hanguofeng",
"age" => "20"
);
再看一个实例
var myjsonobject = {"bindings": [
{"ircevent": "privmsg", "method": "newuri", "regex": "^http://.*"},
{"ircevent": "privmsg", "method": "deleteuri", "regex": "^delete.*"},
{"ircevent": "privmsg", "method": "randomuri", "regex": "^random.*"}
]
};myjsonobject.bindings[0].method // "newuri"
把json字符串转化成json对象,可以使用eval()函数,eval()函数的速度很快,但是由于它能编译和解析任何js程序,所以它的安全性不高,如果要求安全性,可以使用json的parse。
对于eval()函数的使用方法,如下:
var myobject = eval('(' + myjsontext + ')');
对于json paser的使用,如下:
var myobject = json.parse(myjsontext, reviver);
其中reviver是可选的参数。
还可以使用json stringifier把json对象转化成json字符串,其使用方法如下:
var myjsontext = json.stringify(myobject, replacer);
其中replacer为可选的参数函数。使用它还可以有如下用法:
var name=document.getelementbyid('username');var json={name:name,pass:pass}
其中json中的字段都是变量.可以使用stringify把json转化成字符串,使用如下:
var jsonstring=json.stringify(json);
- js解析json对象详细说明
- json 解析js对象
- js 解析简单json 对象
- js解析复杂json对象
- 详细总结js中的json对象
- JS 解析JSON字符串 得到对象数组
- JavaScript--解析JSon数据--JS对象、数组
- 前端js解析json对象及数组
- JSON.stringify详细说明
- js解析json字符串为json对象,js解析json的6种方法
- js解析json数组+java对象转json字符串
- JAVA_NIO详细解析说明
- android 详细json解析
- android json详细解析
- IOS JSON详细解析
- JSON解析-详细
- Json 详细解读 解析
- Json解析详细教程
- jquery实现短信群发功能(机试题)
- qttset
- 3A之自动白平衡
- ubuntu 12.04 opencv2.0
- poj1116 Play on Words
- js解析json对象详细说明
- Intel Perceptual Camera 初体验
- 善用GridView控件的HyperLinkField数据行
- ExtJs4.0实现饼图
- Valid Number
- zoj 1108 FatMouse's Speed 简单动规
- 32位QT程序读取64位系统的注册表中的64位安装软件
- printk()调试信息分级显示脚本的编写方法
- 有五个人在一个孤岛....