我希望能够在 Python 中从 JSON 值创建一个字典列表。
JSON 数据如下:
我希望将这些数据放入一个包含字典数组(名称1,名称2,名称3)和字典数组(JSON中的“data”部分)的数组中,类似于:
{
"data": [
{
"date": "2017-07-28_15-54-10",
"name": "name1",
"state": "true"
},
{
"date": "2017-07-29_15-54-10",
"name": "name2",
"state": "true"
}
]
}
我希望将这些数据放入一个包含字典数组(名称1,名称2,名称3)和字典数组(JSON中的“data”部分)的数组中,类似于:
[
{
"name1": [
{
"date": "2017-07-28_15-54-10"
},
{
"state": "true"
}
]
},
{
"name2": [
{
"date": "2017-07-28_15-54-10"
},
{
"state": "true"
}
]
}
]
我已获取所有数据,我的代码为
for jn in data:
name = jn.get("name")
my_dict = {}
my_dict1 = {}
my_list = []
my_dict["date"] = jn.get("date")
my_dict1["state"] = jn.get("state")
my_list.append(my_dict) # dict for date
my_list.append(my_dict1) # dict for state
my_name_dict = {}
my_name_dict[name] = my_list # add the small dicts to the "name" dict
my_final_array.append(my_name_dict)
print(my_final_array)
我能获得这个输出
{
"name1": [
{
"date": "2017-07-28_15-54-10"
},
{
"state": "true"
}
]
},
{
"name2": [
{
"date": "2017-07-28_15-54-10"
},
{
"state": "true"
}
]
}
我正在努力将这些字典添加到一个列表/数组中。当我打印 my_final_array
的值时,我只得到字典的最后一行,而不是列表中的所有行。
我的代码也有点凌乱,还有其他方法可以做到这一点吗?