技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

Python如何直接访问JSON嵌套键

作者:admin    时间:2021-12-31 8:55:15    浏览:

大多数情况下,JSON包含很多嵌套键,让我们看看Python如何直接从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  
x
x
  • 站长推荐