美文网首页
Python读写JSON数据

Python读写JSON数据

作者: azpo2009_198e | 来源:发表于2018-05-15 22:51 被阅读0次

    1. Python数据结构转换为JSON对象

    json 模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps()json.loads() , 要比其他序列化函数库如pickle的接口少得多。 下面演示如何将一个Python数据结构转换为JSON对象:

    import json
    
    data = {
        'name' : 'ACME',
        'shares' : 100,
        'price' : 542.23
    }
    
    json_str = json.dumps(data)
    

    下面演示如何将一个JSON编码的字符串转换回一个Python数据结构:

    data = json.loads(json_str)
    

    JSON编码支持的基本数据类型为Noneboolintfloatstr, 以及包含这些类型数据的listtupledictionary。 对于dictionary,keys需要是字符串类型(字典中任何非字符串类型的key在编码时会先转换为字符串)。 为了遵循JSON规范,你应该只编码Python的listdictionary

    2. JSON文件读写

    如果你要处理的是文件而不是字符串,你可以使用另外的json.dump()json.load()函数来编码和解码JSON数据。例如:

    # Writing JSON data
    with open('data.json', 'w') as f:
        json.dump(data, f)
    
    # Reading data back
    with open('data.json', 'r') as f:
        data = json.load(f)
    

    注意此处open()函数中读写模式的实参:在编码JSON数据时使用'w'写入模式,解码JSON数据时使用'r'只读模式。使用错误的写入模式(如'a'附加模式)会导致写入文件的JSON数据格式出现错误。此外注意写入与读取JSON文件的步骤(上下文管理器)应该分开。


    参考来源
    [1] Python Cookbook, 3rd edition, by David Beazley and Brian K. Jones (O’Reilly). Copyright 2013 David Beazley and Brian Jones, 978-1-449-34037-7
    [2] python3-cookbook中文译本,译者熊能,网址链接:http://python3-cookbook.readthedocs.io/zh_CN/latest/c06/p02_read-write_json_data.html

    相关文章

      网友评论

          本文标题:Python读写JSON数据

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