我有一个看起来像这样的JSON文档:
{
"key1": "value1",
"key2": {
"random_value": {
"keyX": {
"keyY": "valueY",
}
}
}
}
关键名称random_value不断变化,我想检索valueY。我如何在Python中执行此操作?
答案 0 :(得分:1)
假设你的json在json
(变量)
使用for循环,您可以检索随机值:
for value in json['key2']:
其中value是'random_value',但是如果你有更多的值,它将继续循环。然后你可以做这样的事情(在for循环中):
json['key2'][value]['keyX']['keyY']
所以你的代码看起来像这样:(这只是打印值)
json = # Your json defined in your post
for value in json['key2']:
print(json['key2'][value]['keyX']['keyY'])
答案 1 :(得分:0)
您可以使用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。
然后您只能通过传递键名来获取值:
>>> parsed["key1"]
value1
通过将dict转换为列表,您可以通过传递索引来获取值:
>>> parsed.keys()["key2"][0]["keyX"]["keyY"]
valueY
希望这能帮到你!
答案 2 :(得分:-1)
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']
这将起作用