Python JSON

  • JSON

    JSON是用于存储和交换数据的语法。JSON是使用JavaScript对象表示法编写的文本。
    如果您对JSON不熟悉,请参阅我们的JSON教程
  • Python中的JSON

    Python有一个名为json的内置程序包,可用于处理JSON数据。
    导入json模块:
    import json
    
  • 解析JSON-从JSON转换为Python

    如果您有JSON字符串,则可以使用json.loads()方法进行解析 。结果将是一个Python字典
    从JSON转换为Python:
    import json
    # some JSON:
    x =  '{ "name":"John", "age":30, "city":"New York"}'
    
    # parse x:
    y = json.loads(x)
    
    # the result is a Python dictionary:
    print(y["age"])
    
    尝试一下
  • 从Python转换为JSON

    如果您有Python对象,则可以使用json.dumps()方法将其转换为JSON字符串。
    从Python转换为JSON:
    import json
    
    # a Python object (dict):
    x = {
      "name": "John",
      "age": 30,
      "city": "New York"
    }
    
    # convert into JSON:
    y = json.dumps(x)
    
    # the result is a JSON string:
    print(y)
    
    尝试一下
    您可以将以下类型的Python对象转换为JSON字符串:
    • 字典(dict)
    • 列表(list)
    • 元组(tuple)
    • 字符串(str)
    • 整型(int)
    • 浮点(float)
    • True
    • False
    • None
    将Python对象转换为JSON字符串,并输出值:
    import json
    
    print(json.dumps({"name": "John", "age": 30}))
    print(json.dumps(["apple", "bananas"]))
    print(json.dumps(("apple", "bananas")))
    print(json.dumps("hello"))
    print(json.dumps(42))
    print(json.dumps(31.76))
    print(json.dumps(True))
    print(json.dumps(False))
    print(json.dumps(None))
    
    尝试一下
    从Python转换为JSON时,Python对象将转换为等效的JSON(JavaScript):
    Python JSON
    dict Object
    list Array
    tuple Array
    str String
    int Number
    float Number
    True true
    False false
    None null
    转换包含所有合法数据类型的Python对象:
    import json
    
    x = {
      "name": "John",
      "age": 30,
      "married": True,
      "divorced": False,
      "children": ("Ann","Billy"),
      "pets": None,
      "cars": [
        {"model": "BMW 230", "mpg": 27.5},
        {"model": "Ford Edge", "mpg": 24.1}
      ]
    }
    
    print(json.dumps(x))
    
    尝试一下
  • 格式化结果

    上面的示例显示了一个JSON字符串,但是它不是很容易阅读,没有缩进和换行符。json.dumps()方法具有一些参数,可以更轻松地读取结果:
    使用indent参数定义缩进数量:
    json.dumps(x, indent=4)
    
    尝试一下
    您还可以定义分隔符,默认值为(“,”,“:”),这意味着使用逗号和空格分隔每个对象,并使用冒号和空格分隔键和值:
    使用separators参数更改默认分隔符:
    json.dumps(x, indent=4, separators=(". ", " = "))
    
    尝试一下
  • 结果排序

    json.dumps()方法具有参数以对结果中的键进行排序:
    使用sort_keys参数指定结果是否应该排序:
    json.dumps(x, indent=4, sort_keys=True)
    
    尝试一下