python json.loads()、json.dumps()和json.dump()、json.load()区别

json.loads()、json.dumps()和json.dump()、json.load()分别是两组不同用法

带s的用于数据类型的转换,不带s的用于操作文件。

json.loads()、json.dumps()概念理解

json本身是字符串,通过以下两个函数可以进行字典和字符串的转换。

因为浏览器不支持字典方式显示,如果请求过来的类型是字典,必须通过json.dumps()函数将字典转换为字符串之后,才可展示。

使用案例

json.loads():解码,将JSON格式的字符串转换为字典。

>>> import json
>>> json_str = '{"num": "66" }'
>>> dict2 = json.loads(json_str)
>>> type(json_str)
<class 'str'>
>>> type(dict2)
<class 'dict'>

json.dumps():编码,将字典转换为JSON格式的字符串。

>>> import json
>>> dict1 = {"num": "88"}
>>> json_info = json.dumps(dict1)
>>> type(dict1)
<class 'dict'>
>>> type(json_info)
<class 'str'>
>>>

json.dump()和json.load()概念理解

主要用来读写json文件函数

使用案例

import json,time

# 将字典转换为字符串并保存
def store_json(data):
    with open('data.json', 'w') as f:
        # 将字典转化为字符串
        # json_str = json.dumps(data)
        # f.write(json_str)
        # 上面两句等同于下面这句
        

# 加载json文件并输出
def load_json():
    with open('data.json','r') as f:
        data = json.load(f)
        return data

if __name__ == "__main__":
    json_data = '{"name":"zhangsan"}'
    # 函数是将json字符串转换为字典
    data = json.loads(json_data)
    store_json(data)

    data = load_json()
    print(data)
    
posted @ 2020-09-09 03:01  钢铁侠的知识库  阅读(250)  评论(0编辑  收藏  举报