如何使用Python读取、写入和解析JSON(完整指南)

JSON是用于数据交换的轻量级数据格式, 可以由人类轻松读取和写入, 也可以由机器轻松解析和生成。它是一种完全独立于语言的文本格式。为了处理JSON数据, Python有一个内置软件包, 称为JSON.

Example: s = '{"id":01, "name": "Emily", "language": ["C++", "Python"]}'

JSON的语法被视为JavaScript语法的子集, 包括以下内容:
  • 名称/值对:代表数据, 名称后跟” :” (冒号), “ 名称/值” 对之间用(逗号)分隔。
  • 大括号:容纳对象。
  • 方括号:保留值以(逗号)分隔的数组。
键/值必须是带双引号的字符串, 值必须是以下类型的数据类型:
  • String
  • Number
  • Object(JSON对象)
  • Array
  • boolean
  • null
Example: { "employee": [{ "id": "01", "name": "Amit", "department": "Sales" }, { "id": "04", "name": "sunil", "depatment": "HR" } ] }

解析JSON(从JSON转换为Python) json.loads()方法可以解析json字符串, 结果将是Python字典。
语法如下:
json.loads(json_string)

例子:
# Python program to convert JSON to Pythonimport json# JSON string employee = '{"id":"09", "name": "Nitin", "department":"Finance"}'# Convert string to Python dict employee_dict = json.loads(employee) print (employee_dict)print (employee_dict[ 'name' ])

输出如下:
{'id': '09', 'department': 'Finance', 'name': 'Nitin'} Nitin

Python读取JSON文件 json.load()方法可以读取包含JSON对象的文件。考虑一个名为employee.json的文件, 其中包含一个JSON对象。
语法如下:
json.load(file_object)

例子:假设JSON如下所示。
如何使用Python读取、写入和解析JSON(完整指南)

文章图片
我们想读取该文件的内容。下面是实现。
# Python program to read # json fileimport json# Opening JSON file f = open ( 'data.json' , )# returns JSON object as # a dictionary data = http://www.srcmini.com/json.load(f)# Iterating through the json # list for i in data['emp_details' ]: print (i)# Closing file f.close()

输出如下:
如何使用Python读取、写入和解析JSON(完整指南)

文章图片
在这里, 我们使用了open()函数读取JSON文件。然后, 使用json.load()给我们一个名为data的字典的方法。
从Python转换为JSON json.dumps()方法可以将Python对象转换为JSON字符串。
语法如下:
json.dumps(dict, indent)

【如何使用Python读取、写入和解析JSON(完整指南)】它带有两个参数:
  • 字典–应该转换为JSON对象的字典的名称。
  • 缩进–定义缩进的单位数
例子:
# Python program to convert # Python to JSONimport json# Data to be written dictionary = { "id" : "04" , "name" : "sunil" , "depatment" : "HR" }# Serializing json json_object = json.dumps(dictionary, indent = 4 ) print (json_object)

输出如下:
{ "depatment": "HR", "id": "04", "name": "sunil" }

可以将以下类型的Python对象转换为JSON字符串:
  • 字典
  • list
  • tuple
  • String
  • int
  • float
  • true
  • false
  • None
Python对象及其等效的JSON转换:
python JSON等效
字典 Object
列表, 元组 Array
str String
整数, 浮点数 Number
true true
false false
None null
将JSON写入文件 json.dump()方法可用于写入JSON文件。
语法如下:
json.dump(dict, file_pointer)

它包含2个参数:
  • 字典–应该转换为JSON对象的字典的名称。
  • 文件指针–在写或追加模式下打开的文件的指针。
# Python program to write JSON # to a fileimport json# Data to be written dictionary = { "name" : "sathiyajith" , "rollno" : 56 , "cgpa" : 8.6 , "phonenumber" : "9976770500" }with open ( "sample.json" , "w" ) as outfile: json.dump(dictionary, outfile)

输出如下:
如何使用Python读取、写入和解析JSON(完整指南)

文章图片
上面的程序使用” w” 以写入模式打开一个名为sample.json的文件。如果文件不存在, 将创建该文件。Json.dump()将字典转换为JSON字符串, 并将其保存在文件sample.json中。
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

    推荐阅读