JSON(JavaScript对象表示法),它的出现让XML渐渐退出了数据交互格式的舞台。JSON是一种轻量级的数据交互格式,很多编程语言都支持对JSON的解析和序列化。


JSON格式实际上只有两个东西:key和value,value可以表示简单值、对象、数组。

1.表示简单值

//最简单的JSON
"SunnyChuan"

2.表示对象

//JSON
{
    "name":"SunnyChuan",//逗号分隔
    "age":21//结尾没有分号
}
//对比JavaScript对象字面量表示
var obj={
    name:"SunnyChuan",
    age:21
};

通过对比可以看出,JSON的key必须用双引号括起来(单引号错误),没有末尾的分号,这两个是常见的错误。

3.表示数组

[
   {
      "name":"SunnyChuan",
      "age":21
   },
   {
      "name":"LuckyJing",
      "age":20
   }
]

4.复杂的JSON
通过对象、数组的组合,JSON可以组合成复杂的形式,数组里嵌套对象,对象里面嵌套数组等,可以通过JSON在线校验工具来测试JSON格式是否正确:http://json.cn/

5.JSON解析和序列化
解析:通过JSON.parse()将JSON数据转化为对象,eval()也可以解析JSON但是不推荐。

//myJson.json文件
{
    "name":"SunnyChuan",
    "age":21
}

//前端代码
window.onload=function(){
    var xml=new XMLHttpRequest();
    xml.onreadystatechange=function()
    {
        if(xml.readyState==4 && xml.status==200)
        {
            console.log(JSON.parse(xhr.responseText).name)//SunnyChuan
        }
    };
    xml.open("get","myJson.json");
    xml.send();
}

序列化:JSON.stringify()将JavaScript对象序列化为JSON数据格式发送给后端。

var obj={
    name:"SunnyChuan",
    age:21
};

//省去一些代码
xml.open("POST","ajax.php");
var data=JSON.stringify(obj);
xml.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xml.send(data);

后端将会接收到字符串{"name":"SunnyChuan","age":21}


JSON作为数据格式是前后端交互必用(也可以用XML)的,个人做项目的时候深深感受到了JSON带来的便利。

本站以现代、古代情诗为主,情诗网创办于2013年,以原创爱情诗歌、经典情诗、现代情诗、古代情诗、英文情诗、情诗绝句为主并收集古诗、古诗词、诗歌大全、诗词名句的文学门户。方便您下次继续阅读;可以放在浏览器的收藏夹中(快捷键Ctrl+D);或者看到喜欢或者有趣的诗词可以通过分享按钮给你的好友分享;情诗网是目前最全情诗大全网站之一。并欢迎广大诗歌爱好者阅览投稿!喜欢本站的话请大家把本站告诉给你朋友哦!地址是 www.qingshiwang.com !