【发布时间】:2018-10-22 16:47:39
【问题描述】:
1) 我们如何将 dict 与 list 结合并以 JSON 形式返回结果? 已尝试组合 list_1(dict) 和 list_2(list),但出现错误。此外,将它们转换为字符串后可以组合但无法解码回 JSON 格式(如下面的预期结果)。
2) 另外,如何替换 JSON 中的值并将其维护为 JSON?
list_1 = [{'title': 'NEWBOOK', 'downloads': '4', 'views': '88'}]
list_2 = {'title': 'MASTERMIND', 'downloads': '16', 'views': '156'}
list_3 = {
'a': 'b',
'c': 'd',
'e': [{
'f': 'g',
'l': 'm'
}]
}
我尝试过的脚本如下。
combine = list_1 + list_2
for z in list_3['e']:
list_3 = list_3.replace(z, combine)
Expected_json = json.dumps(list_3)
print(list_3)
错误1:
combine = list_1 + list_2
TypeError:只能将列表(不是“dict”)连接到列表
错误2:
list_3 = list_3.replace(z, combine)
AttributeError: 'dict' 对象没有属性 'replace'
预期结果:
list_3 = {
"a": "b",
"c": "d",
"e": [{
"f": "g",
"l": "m"
},
{
"title": "NEWBOOK",
"downloads": "4",
"views": "88"
},
{
"title": "MASTERMIND",
"downloads": "16",
"views": "156"
}
]
}
【问题讨论】:
-
嗯。看起来像
list_3['e'].extend(list_1); list_3['e'].append(list_2)。不过,这些数据有点奇怪。你从哪里得到它?如果您自己生成它,可能有一种组织方式可以使这些下游应用程序更简单。 -
您是否总是想在字典中的“e”键中添加列表。我的意思是你知道你想在 list_3 中的哪个键条目上添加列表
-
这是一个现有的应用程序,所以我无法控制它,正如我所提到的那样非常需要它。
-
是的,想替换list_3[e]中的整个字典。
标签: python json arraylist type-conversion