JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript编程语言的一个子集,但JSON是独立于语言的文本格式,代码中可以使用各种语言来解析和生成它。
主要特点:
1. **易于理解**:JSON数据格式以key-value对的形式存在,类似于JavaScript的对象字面量或Python的字典。
2. **轻量级**:JSON文本格式简单,占用空间小,传输速度快。
3. **可读性好**:JSON数据易于阅读,便于调试。
4. **支持多种数据类型**:包括数字、字符串、布尔值、数组、对象(字典)以及null。
5. **独立于语言**:尽管JSON基于JavaScript,但许多编程语言都有解析和生成JSON的能力。
基本结构:
- **对象**:一个无序的“‘键/值’对”集合。一个对象以“{”开始,以“}”结束。每个“键”后跟一个“:”,“‘键/值’对”之间使用“,”分隔。
- **数组**:值的有序集合。一个数组以“[”开始,以“]”结束。值之间使用“,”分隔。
示例:
{"name": "John Doe","age": 30,"isMarried": false,"hobbies": ["reading", "gaming", "coding"],"address": {"street": "123 Main St","city": "Anytown","zip": "12345"}
}
基本使用:
在JavaScript中,可以使用内置的对象`JSON`来进行JSON的解析和生成。
解析(字符串转JSON对象):
var jsonString = '{"name": "John Doe", "age": 30}';
var obj = JSON.parse(jsonString);
console.log(obj.name); // 输出:John Doe
生成(JSON对象转字符串):
var obj = { "name": "John Doe", "age": 30 };
var jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出:{"name":"John Doe","age":30}
注意事项:
- JSON的key必须是字符串,值可以是字符串、数字、布尔值、数组、对象或null。
- JSON中没有注释的功能。
- JSON字符串必须使用双引号,单引号会导致解析错误。
JSON因其简单性和易用性,已经成为网络数据交换的事实标准,广泛应用于Web应用程序、服务器和客户端之间的数据传输。