码尚云_西安云计算培训_云计算运维培训机构

标题: 玩转Python解析JSON [打印本页]

作者: 云鼎    时间: 2022-9-19 14:24
标题: 玩转Python解析JSON
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。Python3 中可以使用 json 模块来对 JSON 数据进行编解码.


Python 编码为 JSON 类型转换对应表:



我们通过代码来看下如何实现对json的解析操作呢...


  • import json
  • data = {
  •     'name': 'gebilaowang',
  •     'age': 26,
  •     'sex': 'female',
  •     'work': 'mairou',
  •     'address': {'province': 'Fujian', 'city': 'xiamen'}
  • }

[color=rgb(15, 199, 122) !important]复制代码



如果我们想要将data这个字典类型转换为JSON对象,代码可以这样写:
  • jsonStr = json.dumps(data)
  • print(jsonStr)

[color=rgb(15, 199, 122) !important]复制代码

最终执行结果是:
  • {"name": "gebilaowang", "age": 26, "sex": "female", "work": "mairou", "address": {"province": "Fujian", "city": "xiamen"}}

[color=rgb(15, 199, 122) !important]复制代码



如果我们要将JSON对象类型转换为Python的字典类型,代码如下:
  • testDict = json.loads(jsonStr)
  • print(testDict['address'])

[color=rgb(15, 199, 122) !important]复制代码

最终执行结果是:
  • {'province': 'Fujian', 'city': 'xiamen'}

[color=rgb(15, 199, 122) !important]复制代码



那么如何将Python字典直接输出到一个json文件呢?
  • with open('test.json', 'w', encoding='utf-8') as f:
  •     json.dump(testDict, f, ensure_ascii=False, indent=4)

[color=rgb(15, 199, 122) !important]复制代码



将json文件对象中的JSON字符串直接转换成Python字典代码如下:
  • with open('test.json', 'r', encoding='utf-8') as f:
  •     retDict = json.load(f)
  •     print(type(retDict))
  •     print(retDict['name'])

[color=rgb(15, 199, 122) !important]复制代码

[color=rgb(15, 199, 122) !important]







欢迎光临 码尚云_西安云计算培训_云计算运维培训机构 (http://www.mashangcloud.com/) Powered by Discuz! X3.4