Python中如何快速解析JSON对象数组
作者:python教程
JavaScript Object Notation
JSON (JavaScript Object Notation)是一种用于数据交换的语法,它对人的读写很简单,对计算机的解析和生产也很简单,而且还可以存储数据。
它是一种不偏向语言的全文格式。此外,Python包括一个名为json 的库,我们可以用它来与JSON数据进行交互。--p>
JSON的语法被认为是JavaScript语法的一部分,它还包括name 和value ,因为name 在表示数据时前面有一个冒号(:),name: value 对被逗号分割。
对象在大括号中,而数组元素住在方括号中,每个值之间用逗号隔开。在开始解析JSON之前,Python需要一些JSON来进行处理。
有几件事情我们必须最初设置好。首先制作一个Python文件,它将包含这些练习的代码。然后,在该文件中导入JSON模块。
JSON对象
由于浏览器可以迅速地解析JSON对象,它们有助于在客户端和服务器之间传输数据。字符串、整数(浮点数或英寸)、布尔值、列表、空或另一个JSON对象都是JSON对象键的可接受值。
在下面的例子中,创建了一个由字典填充的对象json_string ,该对象中的数据将通过使用json.load() 方法进行解析,然后打印输出中显示的数据。
示例代码:
import json json_string = """ { "Student": { "ID" : "3", "name": "kelvin", "Group": "A", "Program" : "BSSE" } } """ data = json.loads(json_string) print (data)
输出:
{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}}
解析JSON数组的对象
JSON数组的结构与Python括号内的列表的结构相同。它们可能包括嵌套数组和与JSON对象字段值相同的数据类型。使用内置包json 的json.loads() 函数,将一个JSON字符串转化为Python对象。
JSON数据字符串由json.loads() 函数解析,然后提供一个包含JSON中所有数据的Python字典。你可以通过使用名字或索引来引用对象,从这个 Python 字典中获得解析的数据。
我们还可以检查字典中的嵌套JSON项目。使用相关的方法json.load() 来解析一个JSON文件(没有s)。在下面的例子中,我们使用json.loads 来解析数组中的值。
示例代码:
import json json_string = """ { "Student": { "ID" : "3", "name": "kelvin", "Group": "A", "Program" : "BSSE", "cars": [ {"model": "BMW 330e", "mpg": 143}, {"model": "Rolls-Royce Phantom EWB", "mpg": 18} ] } } """ data = json.loads(json_string) print (data)
输出:
{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE', 'cars': [{'model': 'BMW 330e', 'mpg': 143}, {'model': 'Rolls-Royce Phantom EWB', 'mpg': 18}]}}
这个例子通过JSON解码器将JSON数组转换为Python数组数据类型。在Python对象中使用其索引可以从JSON数组中获得一个元素。
示例代码:
import json json_str = """ { "Orders": [ {"Id": 151}, {"Id": 120}, {"Id": 131}, {"Id": 114} ] } #Python小白学习交流群:711312441 """'' data = json.loads(json_str) order_1_id = data['Orders'][0]['Id'] order_2_id = data['Orders'][1]['Id'] order_3_id = data['Orders'][0]['Id'] order_4_id = data['Orders'][1]['Id'] total = len(data['Orders']) print(f"Order #1: {order_1_id}, Order #2: {order_2_id}, Total Orders: {total}")
输出:
Order #1: 151, Order #2: 120, Total Orders: 4
以上就是Python中如何快速解析JSON对象数组的详细内容,更多关于Python解析JSON对象数组的资料请关注脚本之家其它相关文章!