gpt4 book ai didi

Python/Flask - 如何在响应中返回有效的 JSON 而不是字符串?

转载 作者:行者123 更新时间:2023-12-03 16:55:46 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to return a dict as a JSON response from a Flask view?

(15 个回答)


2年前关闭。




我正在使用 Flask Restful 创建一个简单的 API,该 API 在获取响应中返回 JSON。
我所有的方法都很好,我的问题在响应结果中有点细节,因为 JSON 实际上是作为字符串出现的,我不明白我需要做什么。

当我使用 json.dumps() 转换 python dict 时会出现问题

我试图在没有 json.dumps() 方法的情况下做到这一点,我的结果以所需的格式出现,但不是实际有效的 JSON。

这是我的代码:

class People(Resource):
def get(self):
handle = open("json_test.txt", "r")
txt = handle.read()
json = self.names(txt)
return jsonify({'result': json})

def names(self, data):
json.loads(data)
print(data)
ids = []
names = []
for n in data['people']:
print(n)
id = n['id']
name = n['name']
ids.append(id)
names.append(name)

test_list = []
counter = 0
for item in names:
test_item = {"id": ids[counter], "name": names[counter]}
test_list.append(test_item)
counter = counter+1

names_json = json.dumps(test_list, ensure_ascii=False)
print(names_json)
return names_json

这是我想要的输出:
{
"result": {
"people": [
{
"id": "12345",
"nome": "Felipe"
},
{
"id": "54321",
"nome": "Jean"
}
]
}
}

但我得到了这个实际输出:
{
result: "{"people": [{"id": "54321", "name": "Felipe"}, {"id": "12345", "name": "Jean"}]}"
}

它来了:result = "{json}",一个字符串而不是实际的 json,但双引号内的数据是一个有效的 json。

最佳答案

这行得通吗?

return names_json["result"]

关于Python/Flask - 如何在响应中返回有效的 JSON 而不是字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56875296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com