python中json格式数据处理

jsondata在线调试

json和dict区别

pyhon和json中数据类型映射关系

python中处理json数据几种方式
json结构的数据在python中即为字符串

1.re 正则表达式
通过写表达式去解析json

import re
re.search(r’公式’,字符串).group(1) 查询一个结果
re.findall(公式,字符串) 查找多个符合条件的,返回列表
re.match()
re.splite(公式,字符串),用公式匹配的字符串去切割字符串,形成列表

2.json
json模块属于python标准库
json在python中实际是字符串,通过将str类型转为dict类型,运用python字典的数据结构特点去解析json

  • 2.1反序列化json.loads()和json.load()
    把字符串转为字典dict类型,之后用字典结构去解析获取字典即可

a.操作json字符串: json.loads()

json.loads('{"a":1,"b":2}')

b.操作json文件: json.load()

json.load(open(r'jsondata.json','r'))
  • 2.2序列化 json.dumps() 和json.dump()
    把字典类型的数据转换成json格式(写入json文件)

a.操作json字符串: json.dumps()

json.dumps({"a":1, "b": [1, 2]})

b.操作json文件: json.dumps()

json.dump(data_dict,open(r'jsondata.json','w'))

3.jsonpath()

对比与json包,jsonpath可以根据路径去解析json,比较适合用来解析json中带“[ ]”的数据
此方法直接处理的是dict

jsondata = {"a":"1", "b": [1, 2]}
result = jsonpath.jsonpath(jsondata,'$..a')

jsonpath()里表达式语法: