先学习阮大神的 数据类型和Json格式
一、
js中解析JSON的方式
eval()
JSON.parse
var jsondata = '{"staff":[{"name":"小红","age":16},{"name":"小明","age":20},{"name":"小芳","age":18}]}'
var jsonobj = eval('(' + jsondata + ')')
alert( jsonobj.staff[0].name);
var jsondata = '{"staff":[{"name":"小红","age":16},{"name":"小明","age":20},{"name":"小芳","age":18}]}'
var jsonobj = JSON.parse(jsondata);
alert( jsonobj.staff[0].name);
两种效果其实是一样的,但是我们用第二种,因为eval()不但解析JSON字符串还会执行字符串中的js方法
ps:实际中尽量不要用eval()
二、
在线JSON校验工具 http://jsonlint.com/
三、
{
"success":true,
"msg":"xxx",
"data":"xxx"
}
success:逻辑是否成功的标记(如:ajax请求过程中,请求是否成功的标记),msg:"xxx"(如:msg作为请求返回值),errormsg:success为false时的错误信息,data:请求返回的数据。
四、demo.html中解析json,并将相关信息显示在页面上。
if(request.status===200){
var data=JSON.parse(request.responseText);
if(data.success){
document.getElementById('searchResult').innerHTML=data.msg;
}else{
document.getElementById('searchResult').innerHTML="出现错误:"+data.msg;
}
}else{
alert('发生错误'+request.status);
}
PHP中
JSON 数据格式和 Serialize 数据格式的异同和使用
相同点:
1、都是把其他数据类型转换成一个可以传输的字符串(除了资源类型)
2、都是结构性数据
异同点:
1、Serialize 序列化后的数据格式保存数据原有类型
2、JSON 数据格式要简洁,相比Serialize 序列化之后的数据格式
使用场景:
1、JSON 适合数据量大,不要求保留原有类型的情况
2、Serialize 适合存储带有加密方式的数据串,防止数据被中途截取,反序列化破解
参考
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。