JSON

作者: 张延伟 | 来源:发表于2016-08-12 20:50 被阅读17次
什么是JSON?
  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。
一、JSON语法

JSON支持三种类型值:
简单值:使用JavaScript语法,可以在JSON中表示字符串、数值、布尔值和null,但JSON不支持undefined。
对象:表示一组无序对儿,保存在花括号中,每一个名称和值可以是简单值,也可以是复杂数据类型值。
数组:表示一组有序值,保存在方括号中,数组的值也可以是简单值、对象或数组。

  • JSON字符串必须使用双引号
  • JSON中没有变量的概念
  • JSON数据由逗号隔开
  • JSON中对象的属性必须加双引号

通过把数组和对象结合起来,可以构成负责数据集合:

[
    {
        "title":"Professional",
        "authors":["Nico"],
        edition:3,
        year:2011
    },
    {
        "title":"Professional",
        "authors":["Nico","Mic"],
        edition:3,
        year:2011
    },
    {
        "title":"Professional",
        "authors":["Nico","Mary","Arry"],
        edition:3,
        year:2011
    },
]
二、 JSON 解析和序列化

JSON对象有两个方法:stringify()parse() 方法
分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript值。

var book={
            title:"Professional",
            authors:[
                    "NICo"
            ],
            edition:3,
            year:2016
          };
var jsonText=JSON.stringify(book);

控制台输出的结果
->"{"title":"Professional","authors":["NICo"],"edition":3,"year":2016}"
将JSON字符串直接传递给JSON。parse()就可以得到相应的JavaScript值
var bookC=JSON.parse(jsonText);
结果:
Object {title: "Professional", authors: Array[1], edition: 3, year: 2016}

  • 上面的book和bookC虽然具有相同的属性,但是他们是独立的、没有任何关系的数据。
  • 如果传给JSON.parse()的字符串不是有效的JSON,该方法会抛出错误。

相关文章

网友评论

      本文标题:JSON

      本文链接:https://www.haomeiwen.com/subject/abdesttx.html