JSON是用于数据交换的轻量级数据格式,可以很容易地被人类读取和写入,也可以由机器轻松解析和生成。它是一种完全独立于语言的文本格式。为了处理JSON数据,Python有一个名为的内置包json。`在这里插入代码片
示例:
s ='{“ id”:01,“ name”:“ Emily”,“ language”:[“ C ++”,“ Python”]}'
JSON的语法被视为JavaScript语法的子集,包括以下内容:
- 名称/值对:代表数据,名称后跟’:’(冒号),名称/值对以逗号分隔。
- 大括号:容纳对象。
- 方括号:保留由(,)分隔的值的数组。
键/名称必须是带双引号的字符串,值必须是以下类型的数据类型:
- Str
- 列表
- 对象(JSON对象)
- 数组
- 布尔型
- 空值
例:
{
“员工”:[
{
“ id”:“ 01”,
“ name”:“ Amit”,
“部门”:“销售”
},
{
“ id”:“ 04”,
“ name”:“ sunil”,
“部门”:“ HR”
}
]
}
解析JSON(从JSON转换为Python)
json.loads() 方法可以解析json字符串,结果将是Python字典。
句法:
json.loads(json_string)
例:
# Python program to convert JSON to Python
import 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','部门':'财务','名称':'Nitin'}
尼丁
Python读取JSON文件
json.load()方法可以读取包含JSON对象的文件。考虑一个名为employee.json的文件,其中包含一个JSON对象。
句法:
json.load(file_object)
示例:假设JSON如下所示。
我们想读取该文件的内容。下面是实现。
# Python program to read
# json file
import json
# Opening JSON file
f = open('data.json',)
# returns JSON object as
# a dictionary
data = json.load(f)
# Iterating through the json
# list
for i in data['emp_details']:
print(i)
# Closing file
f.close()
输出:
在这里,我们已使用该open()函数读取JSON文件。然后,使用json.load()提供给我们一个名为data的字典的方法来解析文件。
从Python转换为JSON
json.dumps() 方法可以将Python对象转换为JSON字符串。
句法:
json.dumps(dict,indent)
它带有两个参数:
- dictionary –字典的名称,应将其转换为JSON对象。
- 缩进–定义缩进单位数
# Python program to convert
# Python to JSON
import json
# Data to be written
dictionary ={
"id": "04",
"name": "sunil",
"depatment": "HR"
}
# Serializing json
json_object = json.dumps(dictionary, indent = 4)
print(json_object)
输出:
{
“部门”:“ HR”,
“ id”:“ 04”,
“名称”:“ sunil”
}
可以将以下类型的Python对象转换为JSON字符串:
- 字典
- 列表
- 元组
- 字符串
- 整型
- 浮动
- True
- False
- NUll
Python对象及其等效的JSON转换:
将JSON写入文件
json.dump() 方法可用于写入JSON文件。
句法:
json.dump(dict,file_pointer)
它包含2个参数:
- dictionary –字典的名称,应将其转换为JSON对象。
- 文件指针–在写入或追加模式下打开的文件的指针。
# Python program to write JSON
# to a file
import 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)
输出:
上面的程序使用“ w”以写入模式打开一个名为sample.json的文件。如果文件不存在,将创建该文件。Json.dump()会将字典转换为JSON字符串,并将其保存在文件sample.json中。
上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。
最后: 欢迎关注小编领取一份300页pdf文档的Python自动化测试工程师核心知识点总结!软件测试技术交流群:(313782132) 这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。