2022年 11月 5日

python解析JSON数据

JSON(JavaScript Object Natation)是一种轻量级的数据交换格式,其基于ECMAScript的一个子集。Python中提供了json模块来对JSON数据进行编码和解码。
json模块包含以下两个函数:

  • json.dumps():对数据进行编码
  • jsonloads():对数据进行解码

示例

import json

data1 = {
    'id': '001',
    'name': '李华',
    'date': '20220115'
}

json_str = json.dumps(data1)
print("Python 原始数据:", data1, type(data1))
print("Python 原始数据:", repr(data1), type(repr(data1)))
print("JSON 对象:", json_str, type(json_str))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

程序运行结果:
在这里插入图片描述
关于repr()的解释,一种可以参考是说法是: 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。

data2 = json.loads(json_str)
print("data2['name']:", data2["name"])
print("data2['id']:", data2["id"])
  • 1
  • 2
  • 3

程序运行结果:
在这里插入图片描述

如果是处理json文件,则需要使用**json.dump()json.load()**来编码和解码JSON数据,代码如下:

# 写入数据
with open('data.json', 'w') as f:
    json.dump(data1, f)

# 读取数据
with open('data.json', 'r') as f:
    data = json.load(f)
    print(data)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述