【发布时间】:2016-09-30 11:20:44
【问题描述】:
我有以下从 REST 服务返回的 JSON,我想通过组合父键为每个值生成唯一名称。例如。 name+phone+address+city+name、name+phone+address+city+population+skilled+male 等等。
{
"name": "name",
"phone": "343444444",
"address": {
"lat": 23.444,
"lng": 34.3322,
"city":{
"name": "city name",
"population": {
"skilled": {
"male": 2,
"female": 4
},
"uneducated": {
"male": 20,
"femail": 4
}
}
}
},
"email": "email",
"education": "phd"
}
我想组合从 JSON 树的父级开始的所有键名。
这就是我正在做的事情
class TestJson
def walk_through(self, json_object):
for k, v in json_object.items():
self.x_path = self.x_path + k
if type(v) is dict:
self.walk_through(v)
else:
print(self.x_path)
self.x_path = ""
此代码正在打印键,但仅从当前父节点开始。我想将所有键组合到 json 的根目录。
【问题讨论】:
-
不保证键的顺序总是相同的。
-
@gre_gor 有没有办法保持订单不变?
标签: python json python-3.x