什么是JSON
JSON是javascript object Notation的缩写,是一种轻量级的数据交换格式。JSON是具有ECMAScript的子集。
编码
python数据类型 | JSON类型 |
dict | object |
list,tuple | array |
str | string |
int float | number |
True | true |
False | false |
None | null |
解码
基本和编码一致,但在数字上有点区别
JSON类型 | python数据类型 |
object | dict |
array | list |
string | str |
number(int) | int |
number(float) | float |
true | True |
false | False |
null | None |
python json的包
json.dump()或者是json.dumps进行编码
通过json.loads或者是json.load进行解码
#encoding:utf-8
import json
data={
'no':1,
'name':"dachan",
'age':25,
'sex':'男'
}
json_str=json.dumps(data)
print("python 原始数据为",repr(data))
print("JSON 对象为",json_str)
运行结果相似,中文性别“男”为变为unicode编码
python 原始数据为 {'no': 1, 'name': 'dachan', 'age': 25, 'sex': '男'}
JSON 对象为 {"no": 1, "name": "dachan", "age": 25, "sex": "\u7537"}
#encoding:utf-8
import json
data={
'no':1,
'name':"dachan",
'age':25,
'sex':'男'
}
json_str=json.dumps(data)
print("python 原始数据为",repr(data))
print("JSON 对象为",json_str)
da2=json.loads(json_str)
print("data['no']:",da2['no'])
print("data['name']:",da2['name'])
print("data['age']:",da2['age'])
print("data['sex']:",da2['sex'])
解析的结果:
python 原始数据为 {'no': 1, 'name': 'dachan', 'age': 25, 'sex': '男'}
JSON 对象为 {"no": 1, "name": "dachan", "age": 25, "sex": "\u7537"}
data['no']: 1
data['name']: dachan
data['age']: 25
data['sex']: 男