JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于 JavaScript 的语法,但它是一种独立于语言的格式,可以被多种编程语言解析和使用。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
JSON 就是一种字符串格式,这种格式无论是在前端还是在后端,都可以很容易的转换成对象,所以常用于前后端数据传递
JSON 的语法:
JSON 数据使用以下语法:
- 对象: 使用花括号
{}
包裹,包含键值对,键用双引号""
包裹,值可以是任何 JSON 数据类型。 - 数组: 使用方括号
[]
包裹,包含多个 JSON 数据,数据之间用逗号,
分隔。 - 数据类型: 支持字符串、数字、布尔值、null 和其他 JSON 对象或数组。
{
"name": "John Doe",
"age": 30,
"city": "New York",
"isStudent": false,
"hobbies": ["reading", "coding", "traveling"],
"address": {
"street": "Main Street",
"zip": "10001"
}
}
对象用{ }包起来,可以嵌套对象
/* 定义一个JSON串 */
var personStr = '{"name":"张小明","age":20,"girlFriend":{"name":"铁铃","age":23},"foods":["苹果","香蕉","橘子","葡萄"],"pets":[{"petName":"大黄","petType":"dog"},{"petName":"小花","petType":"cat"}]}';
console.log(personStr);
console.log(typeof personStr); // string
/* 将一个JSON串转换为对象 */
var person = JSON.parse(personStr);
console.log(person);
console.log(typeof person); // object
/* 获取对象属性值 */
console.log(person.name); // 张小明
console.log(person.age); // 20
console.log(person.girlFriend.name); // 铁铃
console.log(person.foods[1]); // 香蕉
console.log(person.pets[1].petName); // 小花
console.log(person.pets[1].petType); // cat
通过JSON.parse将json串转换为对象
/* 定义一个对象 */
var person = {
'name': '张小明',
'age': 20,
'girlFriend': {
'name': '铁铃',
'age': 23
},
'foods': ['苹果', '香蕉', '橘子', '葡萄'],
'pets': [
{
'petName': '大黄',
'petType': 'dog'
},
{
'petName': '小花',
'petType': 'cat'
}
]
};
/* 获取对象属性值 */
console.log(person.name); // 张小明
console.log(person.age); // 20
console.log(person.girlFriend.name); // 铁铃
console.log(person.foods[1]); // 香蕉
console.log(person.pets[1].petName); // 小花
console.log(person.pets[1].petType); // cat
/* 将对象转换成JSON字符串 */
var personStr = JSON.stringify(person);
console.log(personStr); // {"name":"张小明","age":20,"girlFriend":{"name":"铁铃","age":23},"foods":["苹果","香蕉","橘子","葡萄"],"pets":[{"petName":"大黄","petType":"dog"},{"petName":"小花","petType":"cat"}]}
console.log(typeof personStr); // string
通过JSON.stringify 将 JavaScript 对象转换为 JSON 字符串
JSON 的特点:
- 轻量级: JSON 的语法简洁,易于阅读和编写。
- 易于解析: 大多数编程语言都提供了内置的 JSON 解析器,方便解析和处理 JSON 数据。
- 可读性强: JSON 使用人类可读的文本格式,易于理解和调试。
- 独立于语言: JSON 是一种独立于语言的格式,可以被多种编程语言使用。
- 数据结构: JSON 使用键值对来表示数据,支持多种数据类型,包括字符串、数字、布尔值、数组和对象。
求个点赞!!!