美文网首页Python 从零开始
[Python] (Day-21) - JSON

[Python] (Day-21) - JSON

作者: 已重置2020 | 来源:发表于2017-11-06 10:31 被阅读7次
    We can't give up trying. The fight was worth it. 我们不能放弃尝试,奋斗是值得的。

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式

    Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:

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

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

    Python JSON
    dict object
    list, tuple array
    str string
    int, float, int- & float-derived Enums number
    True true
    False false
    None null

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

    JSON Python
    object dict
    array list
    string str
    number (int) int
    number (real) float
    true True
    false False
    null one

    json.dumpsjson.loads 实例

    Python 字典类型转换为 JSON 对象
    import json
    
    # Python 字典类型转换为 JSON 对象
    data = {
        'no' : 101,
        'name' : 'iMazy',
        'url' : 'http://iMazy.cn'
    }
    
    json_str = json.dumps(data)
    print ("Python 原始数据:", repr(data))
    print ("JSON 对象:", json_str)
    

    输出结果为:

    Python 原始数据: {'no': 101, 'name': 'iMazy', 'url': 'http://iMazy.cn'}
    JSON 对象: {"no": 101, "name": "iMazy", "url": "http://iMazy.cn"}
    

    将 JSON 对象转换为 Python 字典
    import json
    
    # Python 字典类型转换为 JSON 对象
    data = {
        'no' : 101,
        'name' : 'iMazy',
        'url' : 'http://iMazy.cn'
    }
    
    json_str = json.dumps(data)
    print ("Python 原始数据:", repr(data))
    print ("JSON 对象:", json_str)
    
    
    # 将 JSON 对象转换为 Python 字典
    data2 = json.loads(json_str)
    print ("data2['name']: ", data2['name'])
    print ("data2['url']: ", data2['url'])
    
    data2['name']:  iMazy
    data2['url']:  http://iMazy.cn
    

    输出结果为:

    Python 原始数据: {'no': 101, 'name': 'iMazy', 'url': 'http://iMazy.cn'}
    JSON 对象: {"no": 101, "name": "iMazy", "url": "http://iMazy.cn"}
    data2['name']:  iMazy
    data2['url']:  http://iMazy.cn
    

    使用 json.dump()json.load() 对文件的 JSON 数据进行编码和解码
    # 写入 JSON 数据
    with open('data.json', 'w') as f:
        json.dump(data, f)
    
    # 读取数据
    with open('data.json', 'r') as f:
        data = json.load(f)
    

    相关文章

      网友评论

        本文标题:[Python] (Day-21) - JSON

        本文链接:https://www.haomeiwen.com/subject/hugkmxtx.html