【4】基础知识类---Json模块

Json模块

一、四大方法

代码 说明
json.loads( ) 从 json 字符串 转 python 数据类型
json.load( ) 从 json 文件中获取 python 数据类型
json.dumps( ) 从 python 数据类型转 json 字符串
json.dump( ) 从 python 数据类型 写入到 json 文件中

二、示例

1.json.loads( )

import json
from pprint import pprint

# (1)loads 从 json 字符串 转 python 数据类型

# 在多行文本中,不允许使用单引号
# 注意点:json里面只能使用双引号
str = """
    {
    "a":5,
    "b":"aaa",
    "c":["x","y","z"],
    "d":{"name":"shelley","age":"24"}
    }   
"""
result_dict = json.loads(str)
# pprint(result_dict)
# pprint(result_dict['a'])

2.json.load( )

{
  "a": 5,
  "b": "aaa",
  "c": [
    "x",
    "y",
    "z"
  ],
  "d": {
    "name": "shelley",
    "age": "24"
  }
}
# (2)load 从 json 文件中获取 python 数据类型
with open('test.json', 'r', encoding='utf-8') as f:
    result = json.load(f)
    pprint(result)
    pprint(result['a'])
    pprint(type(result))  # 

3.json.dumps( )

# (3)dumps 从 python 数据类型转 json 字符串
data = {
    'a': 5,
    'b': 'aaa',
    'c': ['x', 'y', 'z'],
    'd': {'age': '24', 'name': 'shelley'}
}

json_str = json.dumps(data)
pprint(json_str)
pprint(type(json_str))  # 
pprint(json_str['a'])  # 出错

4.json.dump( )

# (4)dump 从 python 数据类型 写入到 json 文件中
with open('test02.json', 'w', encoding='utf-8') as f:
    # ensure_ascii 显示中文
    # indent 写入带有缩进
    json.dump(data, f, ensure_ascii=False, indent=2)

你可能感兴趣的:(BaseKonwledge)