小编Dan*_*Dan的帖子

对 Python 返回 JSON 作为字符串而不是文字感到困惑

我在 RoR 和 Rails 中完成了一些编码,当我通过 API 调用返回 JSON 对象时,它返回为

{ "id" : "1", "name" : "Dan" }

然而,在Python(使用Flask和Flask-SQLAlchemy)中,当我通过json.dumps或jsonpickle.encode返回JSON对象时,它返回为

"{ \"id\" : \"1\", \"name\": \"Dan\" }"这看起来非常笨拙,因为它无法在另一端轻松解析(在本例中由 iOS 应用程序 - Obj-C)。

我在这里缺少什么,我应该怎么做才能将其作为 JSON 文字而不是 JSON 字符串返回?

这就是我的代码的样子:

people = models.UserRelationships.query.filter_by(user_id=user_id, active=ACTIVE_RECORD)
friends = people.filter_by(friends=YES)

json_object = jsonpickle.encode(friends.first().as_dict(), unpicklable=False, keys=True)
print(json_object)  # this prints here, i.e. { "id" : "1", "name" : "Dan" }

return json_object # this returns "{ \"id\" : \"1\", \"name\": \"Dan\" }" to the browser
Run Code Online (Sandbox Code Playgroud)

python api json flask flask-sqlalchemy

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

api ×1

flask ×1

flask-sqlalchemy ×1

json ×1

python ×1