浅谈JSON

JSON(JavaScript Object Notation, JS 对象简谱) 采用完全独立于编程语言的文本格式来存储和表示数据。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON 语法规则
在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:

  • 对象表示为键值对
  • 数据由逗号分隔
  • 花括号{}保存对象
  • 方括号[]保存数组

JSON 键/值对
JSON键/值对写法与js对象写法相似,不过JSON键/值对组合中的键名用双引号 “” 包裹,键与值使用冒号 : 分隔

{"name":"feifei","age":"18"};

JSON 与 JS 对象的关系
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串

 var obj={   //这是一个对象,注意键名也是可以使用引号包裹的
        name:"feifei",
        age:"18",
};
var json='{"name":"feifei","age":"18"}';//这是一个 JSON 字符串

JSON 和 JS 对象互转

  1. JSON字符串转换为JS对象,使用 JSON.parse()
    var obj = JSON.parse('{ "name":"feifei","age":"18"}'); //结果是 { "name":"feifei","age":"18"}
    console.log(obj); { "name":"feifei","age":"18"}
    console.log(typeof obj); //object
  1. JS对象转换为JSON字符串,使用 JSON.stringify()
    var json = JSON.stringify({ "name":"feifei","age":"18"}); //结果是 '{ "name":"feifei","age":"18"}'
    console.log(json); //{"name":"feifei","age":"18"}
    console.log(typeof json); //string

JSON图解
json{}保存对象:
浅谈JSON_第1张图片
json[]保存数组:
浅谈JSON_第2张图片
值可以是双引号中的字符串,也可以是数字,或者true或false或null,或者是对象或数组。 这些结构可以嵌套。
浅谈JSON_第3张图片
字符串是零个或多个Unicode字符的序列,用双引号括起来,使用反斜杠转义。 字符表示为单个字符串。
浅谈JSON_第4张图片
JSON数值支持整型、浮点型,浮点型也可以用指数表示。不支持八进制和十六进制,必须用十进制表示,且不能使用NaN和Infinity。正确表示应该为 {“age”:18};
浅谈JSON_第5张图片
知识整合来源:
http://www.json.org/
https://baike.baidu.com/item/JSON/2462549?fr=aladdin
以上是关于json的简单总结,希望可以帮到大家。

你可能感兴趣的:(JS,前端)