json序列化:json.dumps()用于将dict类型的数据转成json字符串
  在序列化时,中文汉字被转换为unicode编码,在dumps函数中添加参数ensure_ascii=False可解决;dumps的indent参考可以调整显示格式,即缩进,一般设置为2。键值数据不能用双引号,只能用单引号(如果是双引号,可以用eval())。
json反序列化:json.loads()用于将json字符串转成dict类型的数据

 

import json
#处理unicode编码
res = '{"code":"0","msg":"\u93b4\u612c\u59db","data":true,"responseTime":"2021-04-06 14:54:27"}'
res_dic = json.loads(res)
res_str = json.dumps(res_dic, ensure_ascii=False)
print(res_dic)
print(res_str)
print(eval(str(res_dic)))

 

import json
#json.dumps()用于将dict类型的数据转成json字符串
#json.loads()用于将json字符串转成dict类型的数据

dic = {'age': 23, 'job': 'student'}
print(type(dic),dic)
# out: <class 'dict'> {'age': 23, 'job': 'student'}

dic_str = json.dumps(dic)
print(type(dic_str), dic_str)
# out: <class 'str'> {"age": 23, "job": "student"}

dic_obj = json.loads(dic_str)
print(type(dic_obj), dic_obj)
# out: <class 'dict'> {'age': 23, 'job': 'student'}



#eval()字符串转字典,列表
dic= "{'age': 23, 'job': 'student'}"
print(type(dic),dic)
# out: <class 'str'> {'age': 23, 'job': 'student'}
print(type(eval(dic)),eval(dic))
# out: <class 'dict'> {'age': 23, 'job': 'student'}

lis = "['age','job']"
print(type(lis),lis)
# out: <class 'str'> ['age','job']
print(type(eval(lis)),eval(lis))
# out: <class 'list'> ['age', 'job']



#dump: 将dict类型数据写入json文件中
#load: 读取数据以dict类型返回
with open("../file/json/record.json","w") as f: 
    json.dump(dic_obj,f)

with open("../file/json/record.json",'r') as f:
    dic_obj = json.load(f)
    print(type(dic_obj), dic_obj)   # out: <class 'dict'> {'age': 23, 'job': 'student'}
    print(dic_obj["age"])           # out: 23

相关文章:

  • 2021-07-13
  • 2021-12-31
  • 2022-02-26
  • 2021-08-28
  • 2021-11-08
猜你喜欢
  • 2022-12-23
  • 2021-08-30
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案