如何在Apache下处理Python中的多行JSON

时间:2014-07-06 19:57:56

标签: python json apache cherrypy

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

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

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

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

1 个答案:

答案 0 :(得分:1)

问题是你没有返回格式正确的JSON对象,你发送了很多不同的JSON对象,其间有一些文本(换行符)。

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

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

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