Python 我们如何使用字符串api输出创建字典,如下所示:
我们如何使用字符串api输出创建字典,如下所示: API输出:Python 我们如何使用字符串api输出创建字典,如下所示:,python,dictionary,python-2.6,Python,Dictionary,Python 2.6,我们如何使用字符串api输出创建字典,如下所示: API输出: { "id":"group_cluster" ,"Fields":{ "SIZE":0 ,"REBALANCE":"AUTO" ,"REPLICAS":"1" ,"MODEL":"PARTICIPANT" ,"MODEL_FACTORY_NAME":"group_cluster" } ,"Fields":{ } ,"mapping":{ "group_0":{
{
"id":"group_cluster"
,"Fields":{
"SIZE":0
,"REBALANCE":"AUTO"
,"REPLICAS":"1"
,"MODEL":"PARTICIPANT"
,"MODEL_FACTORY_NAME":"group_cluster"
}
,"Fields":{
}
,"mapping":{
"group_0":{
"station08.example.com_98559":"PARTICIPANT"
}
,"group_1":{
"station19.example.com_98559":"PARTICIPANT"
}
,"group_2":{
"station31.example.com_98559":"PARTICIPANT"
}
,"group_3":{
"station44.example.com_98559":"PARTICIPANT"
}
}
想用上面的字符串编一本字典
即
我尝试使用json模块,结果是:
In: import json
In: d=json.loads(data)
In: d
Out:
{u'id': u'group_cluster',
u'Fields': {},
u'mapping': {u'group_0': {u'station08.example.com_98559': u'PARTICIPANT'},
u'group_1': {u'station19.example.com_98559': u'PARTICIPANT'},
u'group_2': {u'station31.example.com_98559': u'PARTICIPANT'},
u'group_3': {u'station44.example.com_98559': u'PARTICIPANT'},
u'group_4': {u'station73.example.com_98559': u'PARTICIPANT'},
u'group_5': {u'station88.example.com_98559': u'PARTICIPANT'},
u'group_6': {u'station74.example.com_98559': u'PARTICIPANT'},
u'group_7': {u'station77.example.com_98559': u'PARTICIPANT'}},
u'Fields': {u'SIZE': u'0',
u'ENABLED': u'true',
u'STATE_MODE': u'AUTO',
u'REBALANCE': u'AUTO',
u'REPLICAS': u'1',
u'MODEL': u'PARTICIPANT',
u'MODEL_FACTORY_NAME': u'group_cluster'}}
In : for i,k in d.items():
for e,f in k.items():
for j in f.iteritems():
print j[0],e
.....:
station31.example.com_98559 group_2
station44.example.com_98559 group_3
station08.example.com_98559 group_0
station19.example.com_98559 group_1
station74.example.com_98559 group_6
station77.example.com_98559 group_7
station73.example.com_98559 group_4
station88.example.com_98559 group_5
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-258-418baa8a7a16> in <module>()
1 for i,k in d.items():
2 for e,f in k.items():
----> 3 for j in f.iteritems():
4 print j[0],e
5
AttributeError: 'unicode' object has no attribute 'iteritems'
In:import-json
In:d=json.load(数据)
In:d
输出:
{u'id':u'group_cluster',
u'Fields':{},
u'mapping':{u'group_0':{u'station08.example.com_98559':u'PARTICIPANT'},
u'group_1':{u'station19.example.com_98559':u'PARTICIPANT'},
u'group_2':{u'station31.example.com_98559':u'PARTICIPANT'},
u'group_3':{u'station44.example.com_98559':u'PARTICIPANT'},
u'group_4':{u'station73.example.com_98559':u'PARTICIPANT'},
u'group_5':{u'station88.example.com_98559':u'PARTICIPANT'},
u'group_6':{u'station74.example.com_98559':u'PARTICIPANT'},
u'group_7':{u'station77.example.com_98559':u'PARTICIPANT'},
u'Fields':{u'SIZE':u'0',
u'ENABLED':u'true',
u'STATE_MODE':u'AUTO',
u‘再平衡’:u‘自动’,
u'1':u'1',
u'MODEL':u'PARTICIPANT',
u'MODEL_FACTORY_NAME':u'group_cluster'}
In:对于i,k In d.items():
对于k.项()中的e、f:
对于f.iteritems()中的j:
打印j[0],e
.....:
station31.example.com_98559第2组
station44.example.com_98559第3组
station08.example.com_98559组_0
station19.example.com_98559组_1
station74.example.com_98559组_6
station77.example.com_98559第7组
station73.example.com_98559第4组
station88.example.com_98559第5组
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在()
1表示i,k in d.项():
2对于e,f在k中。项目()
---->对于f.iteritems()中的j,为3:
4打印j[0],e
5.
AttributeError:“unicode”对象没有属性“iteritems”
找到了解决方案:
for i,k in d.items():
if type(k)==dict:
for e,f in k.items():
if type(f)==dict:
for j in f.iteritems():
print j[0],e
你是说你有JSON数据?这就是
json
库的用途。或者您想将mapping
中的键与嵌套键组合作为值吗?你自己试过什么了吗?
for i,k in d.items():
if type(k)==dict:
for e,f in k.items():
if type(f)==dict:
for j in f.iteritems():
print j[0],e