如何在Python中解析带有动态键的JSON文档?

2024-10-02 02:26:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个JSON文档,看起来像这样:

{   
  "key1": "value1",
  "key2": {
    "random_value": {
       "keyX": {
          "keyY": "valueY",
      }
    }
  }
}

密钥名random_value不断变化,我想检索valueY。如何用Python实现这个目标?在


Tags: 文档json目标value密钥randomkey2key1
3条回答

您可以使用Python的json库:

>>> import json
>>> my_string = '{"key1": "value1", "key2": {"random_value": {"keyX": {"keyY": "valueY"}}}}'
>>> parsed = json.loads(my_string)
>>> parsed["key1"]
value1
>>> parsed["key2"].keys()[0]["keyX"]["keyY"]
valueY

它的作用:首先,使用json.loads()将json数据集转换为dict。在

然后,只能通过传递键名来获取值:

^{pr2}$

通过将dict转换为列表,可以通过传递索引来获取值:

>>> parsed.keys()["key2"][0]["keyX"]["keyY"]
valueY

希望这对你有帮助!在

 mainDict=   {   
 "key1": "value1",
 "key2": {"random_value":{"keyx":{"keyy": "valuey"}}}}

  tempdict1 = maindict['key2']
  temparray1 = tempdict1.values()
  tempdict2 = temparray[0]
  temparray2 = tempdict2.values()
  tempdict3 = temparray2[0]
  valuey = tempdict3['keyy']

这会有用的

假设您的json在json(变量)中

使用for循环,您可以检索随机值:

for value in json['key2']:

其中value在本例中是“random_value”,但是如果您有更多的值,它将继续循环。然后您可以执行以下操作(在for循环中):

^{pr2}$

所以你的代码看起来像这样:(这只是打印值)

json = # Your json defined in your post

for value in json['key2']:
    print(json['key2'][value]['keyX']['keyY'])

相关问题 更多 >

    热门问题