json基础概念:
JSON
是基于 JavaScript
语言的轻量级的数据交换格式,是 JavaScript
对象的表示法 (JavaScript Object Notation),是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。JSON就是一串字符串 只不过元素会使用特定的符号标注。
{} 双括号表示对象
[] 中括号表示数组
"" 双引号内是属性或值
: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)
所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象
例如:
{
"login": [{
"password": "1223",
"username": "lili"
},
{
"password": "1123",
"username": "heluo"
},
{
"password": "1111",
"username": "xun124"
}]
}
json模块只有4种方法:
将 Python 对象转换为 JSON 字符串
使用 json.dumps()
函数将 Python 对象转换为 JSON 格式的字符串:
import json
python_dict = {'name': 'Joh', 'age': 33, 'city': 'New York'}
json_string = json.dumps(python_dict)
print(json_string)
将 JSON 字符串转换为 Python 对象
使用 json.loads()
函数将 JSON 格式的字符串转换为 Python 对象:
import json
json_string = '{"name": "Joh", "age": 33, "city": "New York"}'
python_dict = json.loads(json_string)
print(python_dict)
将 Python 对象写入 JSON 文件
使用 json.dump()
函数将 Python 对象写入 JSON 文件:
import json
python_dict = {'name': 'Joh', 'age': 33, 'city': 'New York'}
with open('example.json', 'w') as json_file:
json.dump(python_dict, json_file)
从 JSON 文件中读取数据到 Python 对象
使用 json.load()
函数从 JSON 文件中读取数据到 Python 对象:
import json
with open('example.json', 'r') as json_file:
python_dict = json.load(json_file)
print(python_dict)
json对象与Python对象对比
语法格式:
json对象必须在花括号里面,对象可以包括多个键值对,但是跟字典是不一样的,json中的字符串必须用双引号,而Python对象的字典可以单引号也可以双引号。
JSON | Python |
object | dict |
array | list |
string | str |
number (integer) | int |
number (real) | float |
true | True |
false | False |
null | None |