Python如何直接访问JSON嵌套键
作者:admin 时间:2021-12-31 8:55:15 浏览:大多数情况下,JSON包含很多嵌套键,让我们看看Python如何直接从JSON访问嵌套的键值对。
假设你有以下 JSON 数据,并且你想检查和访问嵌套键标记的值。
{
"class":{
"student":{
"name":"jhon",
"marks":{
"physics":70,
"mathematics":80
}
}
}
}
示例 1:直接访问嵌套键
如果你知道始终存在父密钥,则可以直接访问嵌套的 JSON 密钥。在这种情况下,我们总是有“ class ”和“ student ”键,所以我们可以直接访问嵌套的键标记。
import json
sampleJson = """{
"class":{
"student":{
"name":"jhon",
"marks":{
"physics":70,
"mathematics":80
}
}
}
}"""
print("Checking if nested JSON key exists or not")
sampleDict = json.loads(sampleJson)
if 'marks' in sampleDict['class']['student']:
print("Student Marks are")
print("Printing nested JSON key directly")
print(sampleDict['class']['student']['marks'])
输出:
Checking if nested JSON key exists or not
Student Marks are
Printing nested JSON key directly
{'physics': 70, 'mathematics': 80}
示例 2:使用嵌套if语句访问嵌套键
如果你不确定是否始终存在父键,在这种情况下,我们需要使用嵌套的 if 语句访问嵌套的 JSON,以避免任何异常。
import json
sampleJson = """{
"class":{
"student":{
"name":"jhon",
"marks":{
"physics": 70,
"mathematics": 80
}
}
}
}"""
print("Checking if nested JSON key exists or not")
sampleDict = json.loads(sampleJson)
if 'class' in sampleDict:
if 'student' in sampleDict['class']:
if 'marks' in sampleDict['class']['student']:
print("Printing nested JSON key-value")
print(sampleDict['class']['student']['marks'])
迭代 JSON 数组
很多时候,嵌套的 JSON 键包含一个数组或字典形式的值。在这种情况下,如果你需要所有值,我们可以迭代嵌套的 JSON 数组。让我们看看这个例子。
import json
sampleJson = """{
"class":{
"student":{
"name":"jhon",
"marks":{
"physics": 70,
"mathematics": 80
},
"subjects": ["sub1", "sub2", "sub3", "sub4"]
}
}
}"""
sampleDict = json.loads(sampleJson)
if 'class' in sampleDict:
if 'student' in sampleDict['class']:
if 'subjects' in sampleDict['class']['student']:
print("Iterating JSON array")
for sub in sampleDict['class']['student']['subjects']:
print(sub)
输出:
Iterating JSON array
sub1
sub2
sub3
sub4
总结
本文介绍了Python如何直接访问JSON嵌套键的实例,希望本文能对你有所帮助。
您可能对以下文章也感兴趣
标签: Python
- 站长推荐