【问题标题】:Return json string having double quotes around key/value in python [duplicate]返回在python中的键/值周围有双引号的json字符串[重复]
【发布时间】:2021-03-01 11:16:25
【问题描述】:

我正在使用 python 3.7 版本。 我有一个返回 json 字符串的 python 函数。即使我在双引号内有键/值,该函数总是返回带有单引号的键/值。谁能告诉我如何解决这个问题

def get_json():
    return {
       "id":"123",
       "name":"Frank"
    }

上述函数的输出是

{'id':'123', 'name':'Frank'}

我需要的是

{"id":"123", "name":"Frank"}

谁能帮我解决这个问题

【问题讨论】:

标签: python python-3.x python-2.7


【解决方案1】:

python 中的__str__ 类负责字符串表示,这两种情况都可以打印您的对象。单引号和双引号都描述了对象返回的值。但是,您使用 json 时,可能会遇到返回对象的问题。解决方法很简单 -

import json
def get_json():
    return json.dumps({
       "id":"123",
       "name":"Frank"
    })

【讨论】:

    【解决方案2】:

    在 Python 中,{'id':'123', 'name':'Frank'}{"id":"123", "name":"Frank"} 代表相同的东西,在本例中是字典。

    如果你需要字符串而不是字典,你可以转储你的数据。

    import json
    
    def get_json():
        return json.dumps({
           "id":"123",
           "name":"Frank"
        })
    

    它返回一个字符串(不是字典) '{"id": "123", "name": "Frank"}'

    【讨论】:

      【解决方案3】:

      您的函数没有返回任何 JSON,它返回的是 Python dict 对象,Python 默认打印带有单引号的字符串。

      如果您需要 JSON,请使用 json.dumps 将数据序列化为 json(通常在边缘)。

      【讨论】:

        猜你喜欢
        • 2021-12-16
        • 2011-01-27
        • 2018-11-17
        • 1970-01-01
        • 2019-11-01
        • 2018-10-29
        • 2020-02-02
        • 1970-01-01
        • 2014-09-26
        相关资源
        最近更新 更多