我想创建自己的JSON对象,因为原始JSON数据包含一些不需要的不必要数据。现在,我要提取整个['values']
部分并将其放入我自己的JSON对象中。
需要提取的原始JSON:
{
"headers": [
"node",
"subtask id",
"status",
"progress"
],
"values": [
[
"testnet-gf-devel-0 git",
"b4f34a0c-5446-11ea-8c29-1e0f691c9a55",
"Finished",
"100.0 %"
],
[
"Ruggu git",
"b4f4cdde-5446-11ea-9018-1e0f691c9a55",
"Finished",
"100.0 %"
]
]
}
我希望自己的JSON对象看起来像什么:
{
"values": [
[
"testnet-gf-devel-0 git",
"b4f34a0c-5446-11ea-8c29-1e0f691c9a55",
"Finished",
"100.0 %"
],
[
"Ruggu git",
"b4f4cdde-5446-11ea-9018-1e0f691c9a55",
"Finished",
"100.0 %"
]
]
}
代码:
async def parse_subtask_show(self, json_payload):
json_object = json.loads(json_payload)
data = {}
for subtask in json_object['values']:
data['subtasks'] = subtask[0]
data['subtasks'] = subtask[1]
data['subtasks'] = subtask[2]
data['subtasks'] = subtask[3]
json_data = json.dumps(data)
print(json_data)
但这只是输出{"subtasks": "100.0 %"}
。我想我可能会覆盖某些数据?我将如何处理?
答案 0 :(得分:1)
您正在做的事情比需要做的要困难得多。只需提取所需的对象即可。
myobject = {"values": json_object["values"]}
json_data = json.dumps(myobject)
print(json_data)
我不确定data['subtasks']
与此相关,您没有在期望的结果中显示出来。
答案 1 :(得分:1)
这可以实现您想要的。
negate()
答案 2 :(得分:1)
我想我可能会覆盖一些数据?
这就是您正在做的,即在这里:
async def parse_subtask_show(self, json_payload):
json_object = json.loads(json_payload)
json_data = json.dumps(json_object['values'])
print(json_data)
您只需覆盖键 for subtask in json_object['values']:
data['subtasks'] = subtask[0]
data['subtasks'] = subtask[1]
data['subtasks'] = subtask[2]
data['subtasks'] = subtask[3]
上的所有内容,因此它将仅保留最后一个。
我想你只是想要
'subtasks'