JSON小结
JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition-December1999)
的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)
这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。初学者。
JSON 语法规则:
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
示例:
1.var person = {name :'张三',age : 12,sex : '男'}
2.var persons = [
{name :'张三',age : 12,sex : '男'},
{name :'王五',age : 15,sex : '男'}
]
3.var per = {
name : '里斯',
age : 21,
hobbies : [
{name : 'ready',time : 30},
{name : 'sing', time : 30},
]
}
获取per对象的hobbies属性数组的第一个值:per.hobbies[0].name
JSON 名称/值对
name : '张三' 等价于这条Javascript语句 name = '张三'
JSON值可以是:1.数字(整数或者否点数)2.字符串(在双引号中)
3.逻辑值(true或false)4.数组(在方括号中)5.对象(在花括号中)
6.null
JSON字符串:
var str1 = '{ "name": "zhangsan", "sex": "man" }';
JSON对象:
var str2 = { "name": "lisi", "sex": "man" };
一、JSON字符串转换为JSON对象
var jsonObject = eval('('+jsonstr+')');
或者
var jsonobject = jsonstr.parseJSON();
或者
var jsonobject = JSON.parse(jsonstr);
读取:
alert(jsonobject.name);
注意如果jsonstr本身就是一个json对象那么使用eval函数转换不会变化但是如果使用parseJSON函数就会抛出语法异常
一、JSON对象转换为JSON字符串
var jsonstr = jsonobject.toJSONString();
或者
var jsonstr = JSON.stringify(jsonobject);
alert(jsonstr);
除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

浙公网安备 33010602011771号