python入门24 json库

现在很多接口传参和响应都是json串。

json.dumps()  python对象转化为json字符串

json.loads()  json字符串转化为python对象。[]转变成list,{}转变成dict。

1 python对象转成json

import json

#python对象转化成json
dictdata = {'title':'python','page':100,'name': 'python development' }
print(dictdata)
print(type(dictdata))

jsonstr = json.dumps(dictdata) #转化为json
print(jsonstr)
print(type(jsonstr))

  • 转换对应关系 false-False,true-True, object-dict, array - list, null-None
jsonstr = '{"array": [1,2,3], "bool": false, "null": null}'
data = json.loads(jsonstr)
print(data)

data = {'tuple': (1,2,3),'list': [1,2,3], 'bool': True, 'None': None}
jsonstr = json.dumps(data)
print(jsonstr)

  • 排序、缩进格式化显示
jsonstr = json.dumps(dictdata,sort_keys=True) #排序
print(jsonstr)

jsonstr = json.dumps(dictdata,indent=4) #缩进显示
print(jsonstr)

 

  • 是否转成ascii
dictdata2 = [{"count":168,"name":"前端开发","title":"前端开发"},{"count":94,"name":"编程","title":"编程"}]
print(dictdata2)
print(type(dictdata2))

jsonstr2 = json.dumps(dictdata2) #默认转成ascii
print(jsonstr2)
print(type(jsonstr2))

jsonstr2 = json.dumps(dictdata2,ensure_ascii=False)
print(jsonstr2)
print(type(jsonstr2))

2 json转成python对象

#json对象转化为python对象
jsonstr = '[{"count": 168, "name": "前端开发", "title": "前端开发"}, {"count": 94, "name": "编程", "title": "编程"}]'
data = json.loads(jsonstr)
print(data)
print(type(data))

3 转成json写入文件; 从文件读json转成python对象

#转化成json写入文件
data = [{'count': 168, 'name': '前端开发', 'title': '前端开发'}, {'count': 94, 'name': '编程', 'title': '编程'}]

with open('1.json','w') as f:
    json.dump(data,f,indent=4,ensure_ascii=False)

#从文件读取json转成python对象
with open('1.json','r') as f:
    data = json.load(f)
    print(data)
    print(type(data))

猜你喜欢

转载自www.cnblogs.com/dinghanhua/p/10015828.html