Grails JSON最大长度

Grails JSON最大长度,json,tomcat,grails,groovy,Json,Tomcat,Grails,Groovy,我知道JSON字符串通常在Apache和PHP中都定义了最大长度,但是在Grails中使用TomCat定义的JSON字符串的最大长度在哪里 我正在发送的JSON字符串长度为13636个字符,但是我可以将其缩短很多(尽管在测试时我不想这么做)-而且,我们将来可能会通过JSON发送图像,我已经读到这需要base64编码,因此会产生相当大的开销。如果我们要做这样的事情,那么我担心如果这个限制导致了问题,那么我们现在就应该克服它 如果没有限制,那么也许我做错了什么。我有一个有限的域对象,我使用domai

我知道JSON字符串通常在Apache和PHP中都定义了最大长度,但是在Grails中使用TomCat定义的JSON字符串的最大长度在哪里

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

如果没有限制,那么也许我做错了什么。我有一个有限的域对象,我使用
domainInstance作为grails.converters.deep.JSON编码为JSON——这是使用
for
循环完成的,每次JSON字符串被附加到
StringBuilder

然后,我使用
render(StringBuilder.toString())
在视图中呈现StringBuilder,第一个JSON字符串很好,但是第二个字符串在接近尾端时被截断。如果我是客人,我会说我得到了StringBuilder总长度的80%左右

编辑/解决方案:向各位道歉,我注意到当我在页面上查看源代码时,我得到了完整的JSON字符串,但是当我查看页面时,它被截断了。这是一个奇怪的错误,但我接受关于为什么它被截断的答案。谢谢。

Tomcat中有一个POST请求的最大大小,如果您开始发送巨大的JSON/Base64图像请求(如您所提到的),您以后可能会关心这个问题

tomcat中的默认值是2097152字节(2MB);可以通过在server.xml中设置
maxPostSize
属性来更改它

(对于Tomcat 7中的
maxPostSize
):

将由处理的POST的最大大小(以字节为单位) 容器表单URL参数解析。可通过以下方式禁用该限制: 将此属性设置为小于或等于0的值。如果不是 指定时,此属性设置为2097152(2 MB)


如果要将Grails war部署到一个独立的Tomcat实例,那么配置这一点非常简单。但是,如果您使用的是tomcat,我找不到关于实际配置server.xml的更多信息。如果是我,我可能会使用war而不是grails run应用程序运行大文件测试。

干杯,Rob!我目前只使用
grailsrun应用程序
,但在开始部署之前将进行彻底测试。:)