[英]iterate through nested JSON
我正在嘗試在json api響應中進行迭代,但無法訪問所需的數據
這是一個api響應示例。 “我知道它不完整或有效的json :)”
{
"status": "running",
"reasons": [],
"nodes": {
"Server1": {
"status": "running",
我正在使用一個簡單的for循環遍歷它!
for platforms in sbNode:
request = urllib2.Request(API URL)
json_res = json.load(urllib2.urlopen(request))
for node in json_res['nodes']:
print node['status']
我收到一條錯誤消息
TypeError:字符串索引必須是整數
通常,我只是打印for循環以查看json數據,但它僅打印Server1。
我在這里迷路了....
救命 !!!
謝謝
json_res['nodes']
是一本字典。 遍歷字典只會給您鍵,因此node
的第一個值可以是例如'Server1'
。 如果需要鍵和值,則可以使用.items()
進行迭代:
for key, node in json_res['nodes'].items():
如果只需要節點的值,則可以使用.values()
:
for node in json_res['nodes'].values():
您缺少數據的深度知識,因為json_res['nodes']
是字典
json_res['nodes'] = {
"Server1": {
"status": "running",
...
您可以添加嵌套循環以打印服務器狀態:
for node in json_res['nodes']:
for server in node:
print server['status']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.