如何从 Python 返回值作为 JSON?

Posted

技术标签:

【中文标题】如何从 Python 返回值作为 JSON?【英文标题】:How to return value from Python as JSON? 【发布时间】:2012-07-05 03:46:19 【问题描述】:

我从如下所示的 jQuery 文件发送 ajax 请求,该文件需要 JSON 响应。

jQuery.ajax(
    url: '/Control/getImageDetails?file_id='+currentId,
    type: 'GET',
    contentType: 'application/json',
    success: function (data)
        alert(data);
    
 );
);

在 Python 上,我这样发送了对 Ajax 请求的响应:

 record = meta.Session.query(model.BannerImg).get(fid)
 return_info = [record.file_id, record.filename, record.links_to]
 return result_info

这会以纯文本形式返回参数,使其无法读取为不同的值。我相信从 python 发送响应作为 JSON 可以解决这个问题。我以前用过 JSON。如何以 JSON 格式返回响应?

【问题讨论】:

【参考方案1】:

return json.dumps(return_info)

主要问题是

return_info = [record.file_id, record.filename, record.links_to]

因为JSON格式一般是这样的

例子:

json.dumps('file_id': record.file_id, 'filename': record.filename , 'links_to' : record.links_to)

如果您使用alert(data),您将收到的消息是[object Object]

如果使用示例,请使用alert(data.file_id);

【讨论】:

【参考方案2】:

使用json 模块中的函数对其进行编码。

【讨论】:

例如:return json.dumps(return_info) 而且获得成功永远不会有坏处:返回的 JSON 中的 True/False

以上是关于如何从 Python 返回值作为 JSON?的主要内容,如果未能解决你的问题,请参考以下文章

您可以从 Redshift 中的 python UDF 返回多个值吗?

如何从复杂的 JSON API 返回嵌套值

python 返回Jenkins插件的JSON列表作为键,以及表示其启用状态的布尔值。

如何检查json返回值是数组还是字典的形式

如何使用函数的返回值作为在python中返回元组的while条件

RestKit 从 JSON 响应返回空值作为“<null>”