JSON学习笔记(一)

先学习阮大神的 数据类型和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);

《JSON学习笔记(一)》

var jsondata = '{"staff":[{"name":"小红","age":16},{"name":"小明","age":20},{"name":"小芳","age":18}]}'
var jsonobj = JSON.parse(jsondata);
alert( jsonobj.staff[0].name);

《JSON学习笔记(一)》

两种效果其实是一样的,但是我们用第二种,因为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 适合存储带有加密方式的数据串,防止数据被中途截取,反序列化破解
    
    

参考

Ajax全接触

    原文作者:AlexZ33
    原文地址: https://segmentfault.com/a/1190000009125073
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞