JSON简介
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于将数据结构化地传输和
存储。它由键值对组成,采用类似于JavaScript对象的格式来表示数据。JSON易于阅读和编写,并
且易于解析和生成,成为广泛应用于Web应用程序和数据交换的标准格式之一。
JSON语法规则
JSON书写规则
- 数据使用键值对存储
- key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
- key 和 value 中使用冒号 : 分割;键值对之间用逗号,分隔
- 使用反斜杠\转义字符
- 大括号{}保存对象
- 中括号[]保存数组
JSON两种结构
1、对象:大括号 {} 保存的对象是一个无序的名称/值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个”键”后跟一个冒号 :,名称/值对使用逗号 , 分隔。
2、数组:中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。
JSON基本数据类型
类型 | 解释 | 案例 |
字符String | 由双引号包围的Unicode字符序列 | "Hello, World!" |
数字Number | 包括整数和浮点数 | 42,3.14 |
布尔值Boolean | 表示真或假,C相关的实现库可能会用0和1表示 | 值为true或false |
空值 Null | 表示空值 | 值为null |
对象Object | 由一组无序的键值对组成,键是字符串,值可以是任意的JSON数据类型。键值对之间使用逗号分隔,整个对象使用花括号{}包围 | {"name": "John", "age": 30, "city": "New York"} |
数组Array | 由一组有序的值组成,值可以是任意的JSON数据类型。值之间使用逗号分隔,整个数组使用方括号[]包围 | [1, 2, 3, 4, 5] |
Python&JSON
解析JSON字符串为Python对象
import json
json_data = '{"name": "John", "age": 30, "city": "New York"}'
parsed_data = json.loads(json_data) # 数据类型: <class 'dict'>
print(parsed_data) # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}
根据Python对象生成JSON字符串
import json
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
json_data = json.dumps(data)# 数据类型: <class 'str'>
print(json_data) # 输出: {"name": "John", "age": 30, "city": "New York"}
从文件中读写JSON数据
import json
# 写入JSON数据到文件
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
with open('data.json', 'w') as f:
json.dump(data, f)
# 从文件中读取JSON数据
with open('data.json', 'r') as f:
read_data = json.load(f)
print(read_data) # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}
JSON | Python |
---|---|
object — 对象 | dict |
array | list |
string | str |
number (int) | int |
number (real) | float |
true | True |
false | False |
null | None |