我有如下的嵌套字典(它是cosmos gremlin的輸出),我想在python中把它轉換成分層的json。我想在D3.js中使用它來創建一個分層的樹。你能讓我知道如何解決這個問題嗎?感謝你的答復。
嵌套字典的例子:
{"Root_Level"。 {"key"/span>。 "Root_Level","value":{
"操作":{
"key":"operation",
"value":{}
},
"技術":{
"key":"Technology",
"value":{
"高層管理":{}。
"key":"Top Management",
"value":{
"副產品負責人":{
"key":"準產品領導",
"value":{
"副建筑師":{}。
"key":"副建筑師",
"value":{}。
"首席顧問":{
"key":"首席顧問",
"value":{}
}}}}}}}}}}}}
預期輸出:
{ "name"。 "Root_Level", "children"。 [ { "name"/span>。 "操作", "孩子"。 [] }。 { "name"。 "技術", "孩子"。 [ { "name"/span>。 "高層管理", "子女"。 [ { "name"。 "Associate Product Lead" ,"子女"。 [ { "name": "副建筑師" ,"子女"。 [ {}.
"name": "首席顧問", "children"。 []/span> }]}]}]}]}]}
uj5u.com熱心網友回復:
你可以使用下面的函式來獲得你想要的東西。
result = tree(data)[0]需要[0]因為第一個元素是你想要的。
def tree(data) 。
結果 = []
if isinstance(data, dict)。
for v in data.values() 。
temp = {'name'/span>: v['key'/span>]}
temp['children'] = tree(v['value'] )
result.append(temp)
return result
data = {"Root_Level":{"key":"Root_Level", "value": { "操作":{ "鍵":"操作", "值":{}. }, "技術":{ "鍵":"技術", "值":{ "高層管理": { "key":"Top Management", "value":{ "Associate Product Lead":{"key": "Associate Product Lead", "value":{ "Associate Architect": { "key":"Associate Architect", "value": { "首席顧問":{ "key":"首席顧問", "value":{}. }}}}}}}}}}}}
result = tree(data) [0]
print(result)
輸出
{'name': 'Root_Level',
'children': [{'name': '操作', '孩子': []},
{'name': '技術'。
'children': [{'name': '高層管理'。
'子女': [{'name': 'Associate Product Lead',
'子女': [{'name': 'Associate': {'name': 'Associate'
'建筑師'。
'子女': [{'name': 'Principal': 'Principal''顧問',
'子女'。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/320666.html
標籤:
