我想将字典附加到json响应输出中。
JSON响应输出:
json_response= {
"payload": [
{
"type": "type1",
"id": "0001",
"code": "TWBE",
"version": "20190719",
"creationDate": "20190719"
}]
}要附加的字典:
new_dict = '{"metadata": { "version": 1,,"service": "web-client","module": "Catalog","occurredAt": "2019-09-06T12:56:19.627+02:00"}}'预期输出:
{
"metadata": { "version": 1,"service": "web-client","module": "Catalog","occurredAt": "2019-09-06T12:56:19.627+02:00"},
"payload": [
{
"type": "type1",
"id": "0001",
"code": "TWBE",
"version": "20190719",
"creationDate": "20190719"
}]
}我尝试将dict转换为list并追加字典,但我希望输出作为字典。无论如何,我们可以在json中增加字典吗?
if type(json_response) is dict:
json_response = [json_response]
json_response.append(new_dict)发布于 2019-10-31 11:32:08
您的json_response,不管其名称如何,都是一个字典,而不是字典的json表示形式,它将是一个字符串。但这没什么。You new_dict试图成为json字符串,但它的格式不正确。最好把它当作字典用:
json_response= {
"payload": [
{
"type": "type1",
"id": "0001",
"code": "TWBE",
"version": "20190719",
"creationDate": "20190719"
}]
}
new_dict = {"metadata": {"version": 1, "service": "web-client", "module": "Catalog", "occurredAt": "2019-09-06T12:56:19.627+02:00"}}
# "append" by merging keys:
json_response["metadata"] = new_dict["metadata"]上面的代码是通过合并键来组合这两个字典。如果您关心键的顺序,这是为Python 3.6及更高版本的普通字典维护的,那么:
d = {}
d["metadata"] = new_dict["metadata"]
d["payload"] = json_response["payload"]发布于 2019-10-31 11:16:58
试试这个:
json_response.update(new_dict)
如果new_dict是一个字符串,在您的示例中,您可能需要首先将它转换为dict:
import json
new_dict = json.load(new_dict)https://stackoverflow.com/questions/58641843
复制相似问题