JSON 语法
JSON 语法
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,由Douglas Crockford在2001年创造。它基于JavaScript语言的子集,但是可以被多种不同的编程语言解析和生成。
JSON 基本类型
JSON支持6种数据类型:
- 字符串(string)
- 数字(number)
- 对象(object)
- 数组(array)
- 布尔值(boolean)
- 空(null)
字符串类型
字符串是由双引号括起来的一串字符,例如:“hello world”。JSON的字符串必须用双引号,不能用单引号或者没有引号。
数字类型
数字类型可以是整数或者浮点数,并且不支持十六进制、八进制和科学计数法。例如:100,1.234。
对象类型
对象是由花括号包含的一组键值对,例如:{“name”: “Tom”, “age”: 28}。键值对中的键必须是字符串,值可以是任意的JSON类型。多个键值对用逗号隔开。
数组类型
数组是由方括号包含的一组值,例如:[1, 2, 3]。数组中的值可以是任意的JSON类型,多个值用逗号隔开。
布尔值类型
布尔值类型只有两个取值:true和false。
null类型
null类型只有一个值:null。表示一个空值。
JSON 编码
将一个JavaScript对象转换为JSON字符串的过程称为编码(serialize)。
使用JSON.stringify()方法可以将JavaScript对象转换为JSON字符串。
var obj = {name: "Tom", age: 28, friends: ["Mike", "John"]};
var jsonStr = JSON.stringify(obj);
console.log(jsonStr);
输出:
{"name":"Tom","age":28,"friends":["Mike","John"]}
JSON 解码
将一个JSON字符串转换为JavaScript对象的过程称为解码(parse)。
使用JSON.parse()方法可以将JSON字符串转换为JavaScript对象。
var jsonStr = '{"name":"Tom","age":28,"friends":["Mike","John"]}';
var obj = JSON.parse(jsonStr);
console.log(obj);
输出:
{
name: "Tom",
age: 28,
friends: ["Mike", "John"]
}
JSON 注释
JSON不支持注释,如果需要注释可以将注释内容放在JSON字符串外面。
// 这是一个注释
{
"name": "Tom",
"age": 28
}