这将生成有效的json:
new JsonBuilder([test:'"']).toString()这将生成无效的json (未能正确转义):
new JsonBuilder([test:'"']).toPrettyString()当我在我的环境中运行新的JsonBuilder([test:'"']).toPrettyString()时得到的输出(一个处理程序来自一个相当大的play-1.2.6应用程序):{\n "test":“”\n},这是无效的json。
当我从命令行运行Opal脚本时,我得到了有效的JSON (“\”而不是“”),所以我不太清楚问题是什么。我使用的是Windows764位(JDK 1.7.0_u67,groovy2.3.6安装程序),但这个问题是在我们所有的linux机器上遇到的。
注意:--这是由于使用了一个旧版本的groovy (1.8.6),并且已经从2.3.6开始修复了。我无法升级,因为它依赖于Play 1.2.6。
发布于 2014-10-01 15:41:40
这两项产出似乎都是有效的:
import groovy.json.*
def j1 = new JsonBuilder([test:'"']).toString()
def j2 = new JsonBuilder([test:'"']).toPrettyString()
println j1
println j2
def p1 = new JsonSlurper().parseText(j1)
def p2 = new JsonSlurper().parseText(j2)
assert p1 == p2https://stackoverflow.com/questions/26145038
复制相似问题