gpt4 book ai didi

json - 在 Groovy 中使用 JSONBuilder 排除空值

转载 作者:行者123 更新时间:2023-12-04 22:48:22 26 4
gpt4 key购买 nike

是否可以使用默认的 JsonBuilder 库在 Groovy 中创建 JSON 值以排除对象的所有空值?例如Jackson 在Java 中通过注释类来排除空值所做的事情。

一个例子是:

{
"userId": "25",
"givenName": "John",
"familyName": null,
"created": 1360080426303
}

应该打印为:
{
"userId": "25",
"givenName": "John",
"created": 1360080426303
}

最佳答案

不确定对您是否合适,因为我的方法适用于 MapList特性:

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 map
println denull(map)

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

过滤后 null值,然后您可以渲染 Map作为 JSON。

关于json - 在 Groovy 中使用 JSONBuilder 排除空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14749817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com