Json是一种轻量级的数据交换格式,目前使用非常广泛,是一种轻量级的数据交换格式。易于人阅读和编写,可以在多种语言之间进行数据交换 。同时也易于机器解析和生成
1.1json的值:
值可以是对象、数组、数字、字符串或者三个字面值(false、null、true)中的一个。值中的字面值中的英文必须使用小写
对象由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的值由逗号分割的键值对组成,如:
JSON键值对是用来保存JS对象的一种方式,和JS对象的写法也大同小异,键值对组合中的键名写在前面并使用双引号来包括,使用:分隔,然后紧接着值:
实例:
运行网页打开控制台效果如下:
JSON中的对象可以包含多个键值对,并且有数组结构,该语言正是一次实现过程内容的描述
数组是由方括号起来的一组值构成,如:
实例:
[3, 1, 4, 1, 5, 9, 2, 6]
1.2 与JS对象的关系
很多人搞不清楚JSon 和 JS 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串
和JS对象互转:
要实现从JS对象转换为JSON字符串中,使用JSON.Stringgify方法:
var leg = {"name": "zs","sex": "nan"}console.log(leg);// js转化为JSON字符串 var str = JSON.stringify(leg)console.log(str);
结果如下:
要实现从JSON字符串转换为JS对象,使用JSON.parse()方法:
var leg = {"name": "zs","sex": "nan"
}
console.log(leg);
// js转化为JSon字符串
var str = JSON.stringify(leg)
console.log(str);
// json字符串转换为JS对象
var obj = JSON.parse(str);
console.log(obj);
结果如下:
1.3 常用类型
任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。
对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, ...} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
[我耀学IT] Patience is key in life