【问题标题】:How to handle multiple line JSON from Python under Apache如何在 Apache 下处理来自 Python 的多行 JSON
【发布时间】:2014-07-06 19:57:55
【问题描述】:

我们在 Apache 下处理多行 JSON 时遇到问题(具体来说,我们使用的是 modwsgi)。在网页上显示表格时,后端的 Python CherryPy 服务器会提供由 JSON 对象组成的字符串,由 \n 字符分隔。该字符串在 Apache 端被进一步处理以创建表。问题是 Apache 只考虑第一个 JSON 对象,而没有显示字符串中的其余行。

奇怪的是,当我们将请求直接发送到 CherryPy 服务器时,响应是正确的。

CherryPy 应用程序上的 Python 代码作为响应返回:

    resquery.insert(0,json.dumps(orderedhead))
    return "\n".join( [json.dump(element) for element in list_of_elements ] )

【问题讨论】:

  • 看来您可能还有其他问题 - 您能否发布您的代码和输出示例以及您认为 Apache 截断它的原因?

标签: python json apache cherrypy


【解决方案1】:

问题是您没有返回格式良好的 JSON 对象,而是发送了许多不同的 JSON 对象,中间有一些文本(换行符)。

您只能在响应中发送单个 JSON 对象 - 如果您需要发送大量数据,可以将其包装在更大的结构中:

resquery.insert(0,json.dumps(orderedhead))
return json.dump(list_of_elements)

现在您的每个元素都将成为更大 JSON 列表的成员,从而使其只有一个对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多