Return json 在 python 中 key/value 周围有双引号的字符串

Return json string having double quotes around key/value in python

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

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

上述函数的输出是

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

我需要的是

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

谁能帮我解决这个问题

你的函数没有返回 JSON 任何东西,它返回一个 Python dict 对象,并且 Python 默认打印带单引号的字符串。

如果你想要JSON,使用json.dumps.

将数据序列化为json(通常在边缘)

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

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

import json

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

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

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

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