
有任何想法吗?我是新手,所以它肯定是一个明显的.
def tt = ["test","test1"] def jjj = "jason" def Js3 = new groovy.Json.JsonBuilder() def Js2 = new groovy.Json.JsonBuilder(tt); Js3 hello: "$jjj","$jjj": tt def Js4 = new groovy.Json.JsonBuilder() def result = Js4([sdn: Js3,openflow: Js2,type: 3]) println Js4.toprettyString();{"sdn": { "content": { "hello": "jason","jason": [ "test","test1" ] }},"openflow": { "content": [ "test","test1" ]},"type": 3 }
解决方法 这个问题可以重述为……为什么这样:
@R_404_5565@ groovy.Json.*def Js3 = new JsonBuilder(["test","test1"])def Js4 = new JsonBuilder(Js3)println Js4.toString()
打印:
{"content":["test","test1"]} 还有这个:
@R_404_5565@ groovy.Json.*def Js3 = new JsonBuilder(["test","test1"])def Js4 = new JsonBuilder(Js3.content)println Js4.toString()
打印这个(?):
["test","test1"]
简短的回答是JsonBuilder有一个名为content的成员,它代表了有效负载.当一个JsonBuilder吸收另一个时,我们想要替换有效负载,而不是嵌套它.这行是替换有效载荷的方法:
def Js4 = new JsonBuilder(Js3.content)
最终,这源于JsonBuilder.toString()(code here)调用JsonOutput.toJson(object)(code here)的事实.
读者的练习是试验:
class MyBuilder { def content}def myB = new MyBuilder(content: ["test","test1"])println JsonOutput.toJson(myB)println JsonOutput.toJson(myB.content) 总结 以上是内存溢出为你收集整理的使用Groovy输出JSON全部内容,希望文章能够帮你解决使用Groovy输出JSON所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)