使用Groovy输出JSON

使用Groovy输出JSON,第1张

概述我一直在尝试使用groovy Jsonbuilder,你可以在下面看到尝试查看构建 JSON对象和数组的不同方法.在事情开始变得有意义之后,我尝试扩展到下面显示的内容.我的问题是,为什么“内容”出现在json漂亮的字符串输出中?我实际上有另一个json对象在json字符串输出中显示this.class信息. 有任何想法吗?我是新手,所以它肯定是一个明显的. def tt = ["test", "t 我一直在尝试使用groovy Jsonbuilder,你可以在下面看到尝试查看构建 JSON对象和数组的不同方法.在事情开始变得有意义之后,我尝试扩展到下面显示的内容.我的问题是,为什么“内容”出现在Json漂亮的字符串输出中?我实际上有另一个Json对象在Json字符串输出中显示this.class信息.

有任何想法吗?我是新手,所以它肯定是一个明显的.

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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1234727.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存