JSON JavaScript object notation js对象表示法
json对象:
格式 :
s = {
"名称1" : "值1",
"名称2" : "值2",
"名称3" : [
"名称31" : "值31",
"名称32" : "值32",
]
}
对象/值 对应存在
逗号隔开数据
花括号中保存对象
方括号中保存数组
s.名称1 = 值1;
s.名称3[0].名称31 = 值31;
json字符串:
var txt = '{"":"","":""}'; //我们暂且称这种字符串为标准字符串
解析json字符串的方法:
1.用eval()方法;
var str1='{ "name": "kongmeng" }';
var obj1 = eval('(' + str + ')');
alert( obj1.name);
var str2="{ 'name': 'kongmeng' }";
var obj2 = eval('(' + str2 + ')');
alert( obj2.name);
var str3="{ name: 'kongmeng' }";
var obj3 = eval('(' + str3 + ')');
alert( obj3.name);
这个时候,输出的三个结果都会是kongmeng,
那么总结一下eval()的方法可以解析以下三种的json字符串
var str1='{ "name": "kongmeng" }';
var str2="{ 'name': 'kongmeng' }";
var str3="{ name: 'kongmeng' }";
ps: 好多人说有安全隐患,然而我并没有查到是什么安全隐患,之后再学习一下eval()方法。
2.使用paseJSON()的方法
只能解析标准json串
var str1='{ "name": "kongmeng" }';
var obj1 = eval('(' + str + ')');
alert( obj1.name);
var str1='{ "name": "kongmeng" }';
3.JSON.pase()
和paseJSON的效果一样
大致就是这三种方式最为常见吧,还有其他方式就是一些jQuery-json的扩展库里的东西了
将json转化为json字符串
1.JSON.stringify(val,filter,indent);
一般我们只使用第一个参数,直接将val转化为json串,第二个参数是个过滤器,第三个并不是很了解。
2.toJSON();
val.toJSON();
3. JSON.stringify();