我有以下 JSON 格式的示例数据:
project_cost_details是我查询后的数据库结果集。
{
"1": {
"amount": 0,
"breakdown": [
{
"amount": 169857,
"id": 4,
"name": "SampleData",
"parent_id": "1"
}
],
"id": 1,
"name": "ABC PR"
}
}
这是完整的 json:https ://jsoneditoronline.org/?id=2ce7ab19af6f420397b07b939674f49c
预期输出:https ://jsoneditoronline.org/?id=56a47e6f8e424fe8ac58c5e0732168d7
我有这个示例 JSON,它是使用代码中的循环创建的。但我被困在如何将其转换为预期的 JSON 格式。我正在获得顺序更改,需要转换为树状或嵌套 JSON 格式。
在 Python 中尝试:
project_cost = {}
for cost in project_cost_details:
if cost.get('Parent_Cost_Type_ID'):
project_id = str(cost.get('Project_ID'))
parent_cost_type_id = str(cost.get('Parent_Cost_Type_ID'))
if project_id not in project_cost:
project_cost[project_id] = {}
if "breakdown" not in project_cost[project_id]:
project_cost[project_id]["breakdown"] = []
if 'amount' not in project_cost[project_id]:
project_cost[project_id]['amount'] = 0
project_cost[project_id]['name'] = cost.get('Title')
project_cost[project_id]['id'] = cost.get('Project_ID')
if parent_cost_type_id == cost.get('Cost_Type_ID'):
project_cost[project_id]['amount'] += int(cost.get('Amount'))
#if parent_cost_type_id is None:
project_cost[project_id]["breakdown"].append(
{
'amount': int(cost.get('Amount')),
'name': cost.get('Name'),
'parent_id': parent_cost_type_id,
'id' : cost.get('Cost_Type_ID')
}
)
从这里我得到示例 JSON。如果只输入此代码所需的格式,那就太好了。
还尝试了这里提到的这个解决方案:https ://adiyatmubarak.wordpress.com/2015/10/05/group-list-of-dictionary-data-by-particular-key-in-python/
米琪卡哇伊
胡说叔叔
相关分类