2017-08-10 81 views
-1

,我有以下JSON数据:重组JSON对象

{ 
    "App 1": "5a67-b-45-86e7-bfb351", 
    "App 2": "293-e2-4a-96c-4471d0ea", 
    "App 3": "f87d5-e0-41-bd-16dc72e" 
} 

我想它在下面的JSON格式使用Python重构:

[ 
    { 
    "id" : "5a67-b-45-86e7-bfb351", 
    "name" : "App 1" 
    }, 
    { 
    "id" : "293-e2-4a-96c-4471d0ea", 
    "name" : "App 2" 
    }, 
    { 
    "id":"f87d5-e0-41-bd-16dc72e", 
    "name":"App 3" 
    } 
] 
+0

这是传统的以提供某种形式的询问时,试图自己。 SO不是代码写入服务。 –

+0

@PaulRooney是的SO不是一个代码写入服务。我没有提到我试图达到这个目标的方法,这是我的坏处。 – Raj

回答

2

有很多类似的问题在那里。我只想用列表理解:

[{'id': value, 'name': key} for key, value in original.items()] 

如果JSON,而不是一个Python对象,可以很容易地加载/转储:

import json 
... 
original = json.loads(json_string) 
modified = [{'id': value, 'name': key} for key, value in original.items()] 
output = json.dumps(modified) # New JSON string 
+0

建议编辑:您实际上使用了[list comprehension](https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions)!这是有道理的,因为结果是一个列表。 ;) –

+0

@ this-vidor我不好,这是正确的。 –