JSON的本质是一个字符串,有一些特定的格式。用途是每一种语言都可以实现数据传输,比如不同的编程语言之间的传输。
序列化:Python数据类型 -> JSON格式字符串
import json
info = {
'1': 2,
'2': 3
}
string = json.dumps(info)
print(type(string))
print(string)
# 结果如下
<class 'str'>
{"1": 2, "2": 3}
如果JSON中有中文,得这么修改
import json
info = {
'1': 2,
'2': 3,
'3': "第三"
}
string = json.dumps(info, ensure_ascii=False) # 添加 ensure_ascii
print(type(string))
print(string)
# 结果如下
<class 'str'>
{"1": 2, "2": 3, "3": "第三"}
如果在JSON中有目前时间,得转换成string才可以
import json
import datetime
info = {
'1': 2,
'2': 3,
'3': "第三",
'时间': datetime.datetime.now().strftime("%d%m%Y")
}
string = json.dumps(info, ensure_ascii=False)
print(type(string))
print(string)
# 结果如下
<class 'str'>
{"1": 2, "2": 3, "3": "第三", "时间": "17042024"}
反序列化:JSON格式字符串 -> Python数据类型
import json
jsonString = '{"1": 2, "2": 3}'
info = json.loads(jsonString)
print(type(info))
print(info)
# 结果如下
<class 'dict'>
{'1': 2, '2': 3}
# 如果要将JSON输出的格式读起来舒服点,可以这么操作
import json
hashmap = {'e': {'message': '欢迎', 'code': 1}}
print(json.dumps(hashmap, indent=2, ensure_ascii=False))
# 输出结果
{
"e": {
"message": "欢迎",
"code": 1
}
}
给个赞呗~