首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字典附加到json响应

将字典附加到json响应
EN

Stack Overflow用户
提问于 2019-10-31 10:56:07
回答 2查看 349关注 0票数 0

我想将字典附加到json响应输出中。

JSON响应输出:

代码语言:javascript
复制
json_response= {
        "payload": [
            {
                "type": "type1",
                "id": "0001",
                "code": "TWBE",
                "version": "20190719",
                "creationDate": "20190719"
            }]
    }

要附加的字典:

代码语言:javascript
复制
new_dict = '{"metadata": { "version": 1,,"service": "web-client","module": "Catalog","occurredAt": "2019-09-06T12:56:19.627+02:00"}}'

预期输出:

代码语言:javascript
复制
  {
"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中增加字典吗?

代码语言:javascript
复制
   if type(json_response) is dict:
        json_response = [json_response]
    json_response.append(new_dict)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-31 11:32:08

您的json_response,不管其名称如何,都是一个字典,而不是字典的json表示形式,它将是一个字符串。但这没什么。You new_dict试图成为json字符串,但它的格式不正确。最好把它当作字典用:

代码语言:javascript
复制
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及更高版本的普通字典维护的,那么:

代码语言:javascript
复制
d = {}
d["metadata"] = new_dict["metadata"]
d["payload"] = json_response["payload"]
票数 1
EN

Stack Overflow用户

发布于 2019-10-31 11:16:58

试试这个:

json_response.update(new_dict)

如果new_dict是一个字符串,在您的示例中,您可能需要首先将它转换为dict:

代码语言:javascript
复制
import json
new_dict = json.load(new_dict)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58641843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档