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