Grails JSON最大长度

时间:2011-09-15 11:43:25

标签: json tomcat grails groovy

我知道JSON字符串通常在PHP上的Apache中定义了最大长度,但是使用TomCat在Grails中定义的JSON字符串的最大长度是多少?

我发送的JSON字符串长度为13,636个字符,但我可以缩短它(虽然我不想在我们测试的时候) - 而且,我们可能会在将来通过JSON发送图像我读过需要base64编码,因此需要相当大的开销。如果我们要做这样的事情,那么我担心如果这个限制导致问题,那就是我们现在应该克服的。

如果没有限制,那么也许我做错了。我使用domainInstance as grails.converters.deep.JSON将有限数量的域对象编码为JSON - 这是使用for循环完成的,并且每次将JSON字符串附加到StringBuilder

然后我使用render(stringBuilder.toString())在视图中渲染StringBuilder,并且第一个JSON字符串很好,但是第二个字符串在结尾处被截断。如果我要猜测,我会说我得到了StringBuilder总长度的80%左右。

编辑/解决方案:道歉家伙&女孩,我注意到当我在页面上view source时,我得到了完整的JSON字符串,但是当我只是查看页面时,它被截断了。这是一个奇怪的错误,我会接受为什么它被截断的答案。感谢。

1 个答案:

答案 0 :(得分:3)

在Tomcat中, 是POST请求的最大大小,如果您开始发送大量JSON / Base64图像请求(如您所述),您可能会在以后关注它。

tomcat中的默认值是2,097,152字节(2 MB);可以通过在server.xml中设置maxPostSize的{​​{1}}属性来更改它。

From the docs(对于Tomcat 7中的<Connector>):

  

将由POST处理的POST的最大字节数   容器FORM URL参数解析。可以禁用该限制   将此属性设置为小于或等于0的值。如果不是   如果指定,则此属性设置为2097152(2兆字节)。

如果您要将Grails战争部署到独立的Tomcat实例,则可以非常简单地进行配置。但是,如果您使用的是tomcat plugin,我找不到有关实际配置server.xml的更多信息。如果是我,我可能只是使用war而不是grails run-app运行大文件测试。