python和json数据相互转换,json读取和写入,repr和eval,使用

python数据转换json

import json  # 导入json包

data = [
    {
        "id": 1,
        "username": "zhangshan",
        "password": "123qwe",
        "lock": True
    },
    {
        "id": 2,
        "username": "lisi",
        "password": "123qwe",
        "lock": True
    },
    {
        "id": 3,
        "username": "wangwu",
        "password": "123qwe",
        "lock": False
    }
]

jsonStr = json.dumps(data)
# json数据
print(jsonStr)  # str 类型
# python数据
print('原始数据字符串:', repr(jsonStr))

  

将json转换为pathon数据

pyStr = json.loads(jsonStr)
print(pyStr)

repr 和 eval用法

repr(object)  # 把一个对象转换为字符串,类似java的toString()
eval(str)  # 把repr() 转换的字符串 变为对象  

json读取和写入

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

# 读取数据
with open('data1.json', 'r') as f:
    data = json.load(f)

总结:

  数据转换

    第一步: 引入json包: import json

    第二步: 使用 json.dumps(pythonObj) 把python数据转换json数据(字符串类型)

    第三步: 使用json.loads(jsonObj) 把json(str类型)数据转换python数据

  文件写入读取

     使用dump 写入

     使用load 读取