[英]Iterate over Json with no list in python
我希望能夠使用 Json 中的字典進行迭代,就像使用列表一樣。
import json
f = '''
{
"configurator": {
"term": "enabled"
},
"monitor": {
"nortel": "thread"
},
"micros": {
"code": "1200"
},
"universities": {
"univ1": {
"code": "TTSG",
"rsample": {
"meta_data": "TGED",
"samcode": ""
},
"tables": {
"count": "1"
},
"storage": {
"wooden": [],
"metal": [],
"plastic": []
}
},
"univ2": {
"code": "TTSS",
"rsample": {
"meta_data": "TGES",
"samcode": ""
},
"tables": {
"count": "2"
},
"storage": {
"wooden": [],
"metal": [],
"plastic": []
}
}
}
}
'''
data = json.loads(f)
data_topology = data['universities']
for item in data_topology:
print(item.rsample)
低於錯誤。
Traceback (most recent call last):
File "main.py", line 52, in <module>
print(item.rsample)
AttributeError: 'str' object has no attribute 'rsample'
** Process exited - Return Code: 1 **
Press Enter to exit terminal
預期的:
應該能夠使用 for 循環中的任何鍵值來迭代每個 univ# 塊。 即,每個univ#都應該是for循環中的一個項目,這樣我就可以對任意數量的univ#執行一些操作
json object 實際上是一個字典,所以代替
for item in data_topology:
print(item.rsample)
你有寫:
for key in data_topology:
print(data_topology[key])
甚至更好:
for key, value in data_topology.items():
print(key, ":", value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.