在Groovy中使用JSONBuilder排除空值

在Groovy中使用JSONBuilder排除空值,第1张

概述是否可以使用默认的JsonBuilder库在Groovy中创建 JSON值以排除对象的所有空值?比如杰克逊在Java中通过注释类来排除空值. 一个例子是: { "userId": "25", "givenName": "John", "familyName": null, "created": 1360080426303} 哪个应该打印为: { "userId": 是否可以使用默认的JsonBuilder库在Groovy中创建 JSON值以排除对象的所有空值?比如杰克逊在Java中通过注释类来排除空值.

一个例子是:

{   "userID": "25","givenname": "John","familyname": null,"created": 1360080426303}

哪个应该打印为:

{   "userID": "25","created": 1360080426303}
解决方法 不确定它是否适合您,因为我的方法适用于带有List属性的Map:

def map = [a:"a",b:"b",c:null,d:["a1","b1","c1",null,[d1:"d1",d2:null]]]def denull(obj) {  if(obj instanceof Map) {    obj.collectEntrIEs {k,v ->      if(v) [(k): denull(v)] else [:]    }  } else if(obj instanceof List) {    obj.collect { denull(it) }.findAll { it != null }  } else {    obj  }}println mapprintln denull(map)

收益率:

[a:a,b:b,d:[a1,b1,c1,[d1:d1,d2:null]]][a:a,[d1:d1]]]

过滤空值后,您可以将Map渲染为JsON.

总结

以上是内存溢出为你收集整理的在Groovy中使用JSONBuilder排除空值全部内容,希望文章能够帮你解决在Groovy中使用JSONBuilder排除空值所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/langs/1228148.html

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

发表评论

登录后才能评论

评论列表(0条)

保存