JSON

2017-04-19  本文已影响0人  _chuuuing_

JSON = JavaScript Object Notation,即JS 对象标记。是一种轻量级的数据交换格式。JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串,比如:

var obj = {a: 'Hello', b: 'World'};             //这是一个JS对象,注意键名也是可以使用引号包裹的
var json = '{"a": "Hello", "b": "World"}';      //这是一个 JSON 字符串,本质是一个字符串

JSON 变量类型

在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。
==> 但是对象数组是比较特殊且常用的两种类型。
对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, ...} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 ["java", "javascript", "vb", ...] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。

JSON 语法规则

花括弧:  一个容器
方括号:  装载数组
冒号:    名称和值之间
逗号:    数组元素之间
双引号:  用于包裹`键`和`值`

实例

1 - JSON 数据:键值对

"name":"Runoob"

2 - JSON 对象

{ "name":"Runoob",  "url":"www.runoob.com" }

3 - JSON 数组

"sites":[
    {"name":"Runoob", "url":"www.runoob.com"}, 
    {"name":"Google", "url":"www.google.com"},
    {"name":"Taobao", "url":"www.taobao.com"}
]

JSON 和 JS 对象互转

要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法

var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'```

要实现从 `JSON 转换`为`对象`,使用 `JSON.parse()` 方法 [○○○](http://www.runoob.com/try/try.php?filename=tryjs_json_parse)

var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}```

和XML的比较

可读性: JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。

上一篇下一篇

猜你喜欢

热点阅读