JSON是一种对人类友好的文本数据格式。它独立于语言,用于应用程序之间的数据交换。在教程中,我们将说明如何在Python中解析JSON数据。

json模块允许您对JSON数据进行编码和解码,这是Python标准库的一部分。

JSON是表示数据的字符串。编码或序列化意味着将Python对象转换为JSON字符串,可以将其存储在文件中或通过网络传输。

解码或反序列化是将JSON字符串转换为Python对象的编码过程。要使用JSON,只需在文件顶部导入模块import json

json模块提供了两种将Python对象编码为JSON格式的字符串的方法,dump()dumps()

dump()方法将序列化的结果写到文件的对象。它带有两个位置参数。第一个参数是文件对象,第二个参数要进行序列化的对象。

dumps()方法的作用与dump()相同,但是它不是将结果写到文件的对象,而是返回字符串。

两个方法都接受相同的关键字参数。 例如,如果您要分析或调试序列化后json,则可能需要指定缩进。

要将JSON编码的数据转换为Python对象,也就反序列化,可以使用load()loads()方法。

load()方法从文件对象读取JSON结构,并将其转换为Python对象。loads()方法将包含JSON文档的字符串转换为Python对象。

data = {
    "country": "Germany",
    "vehicle": {
        "name": "Volkswagen",
        "model": "T-Roc"
    }
}

print(json.dumps(data, indent=2))
#with open("file.json", "w") as file:
#    json.dump(data, file)

将JSON数据转换为Python表示形式,您可以使用以下方法:

import json

with open('file.json') as f:
  data = json.load(f)
type(data)

#反序列化字符串
json_str= '{"userId": "1", "id": "1", "title": "Meet with Lisa", "completed": "True"}'

print(json.loads(json_str))

结论

我们向您介绍了如何使用Python编码和解码JSON数据。如果您有任何问题或反馈,请随时发表评论。