一些Json处理小技巧–python3.9
一、文件处理
json.load():把txt文本json数据读取到python
import json
import pandas as pd
def txt2Json():
# 打开文本文件
fp = open("125-1.txt", 'r', encoding="utf-8")
a = json.load(fp)
fp.close()
return a
json.dump() :把字典数据写入json文件中
import json
result_Json = {'ret':'123', 'id':'12'}
with open('list.json', 'w+') as file:
json.dump(student, file)
json.dumps() :把字典数据转为json格式字符串
import json
result_Json = {'ret':'123', 'id':'12'}
with open('list.json', 'w+') as file:
json.dump(student, file)
result_Json = json.loads(result_text) #将json格式的字符串转化成有结构的json,为dict
result_Json_str = json.dumps(result_Json) #将dict又转为字符串
结果:
二、字符串处理
原数据:
json.dumps() : json序列化为字符串
result_Json = json.loads(result_text)
结果:python里面还是str
json.loads():把字符串格式的变量转成json数据
result_Json = json.loads(result_text) #将json格式的字符串转化成有结构的json,为dict
三、python读取json格式内容
json结构:
{
"data": {
"ret": [{
"probability": {
"average": 0.9991600513,
"min": 0.992226243,
"variance": 0.000004124859061
}],
"templateSign": "3291ec70a7914fb05096eddb5c30d1d7",
"templateName": "双栏版"
}
}
templateName = result_Json['data']['templateName']
result_data = result_Json['data']['ret']
四、根据json中key值得到对应value值
def get_json_value(json_data,key_name):
'''获取到json中任意key的值,结果为list格式'''
key_value = jsonpath.jsonpath(json_data, '$..{key_name}'.format(key_name=key_name))
#key的值不为空字符串或者为empty(用例中空固定写为empty)返回对应值,否则返回empty
return key_value
使用:
print(get_json_value(result_Json, "templateSign"))
返回:
['3291ec70a7914fb05096eddb5c30d1d7']
参考
《python处理json格式数据》@是乔乔啊
《Python获取json或字典中任意key的value值》@小哥涉世尚浅