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