Pey*_*nkh 4 null groovy json jsonbuilder
是否可以使用默认的JsonBuilder库在Groovy中创建JSON值以排除对象的所有空值?比如杰克逊在Java中通过注释类来排除空值.
一个例子是:
{
"userId": "25",
"givenName": "John",
"familyName": null,
"created": 1360080426303
}
Run Code Online (Sandbox Code Playgroud)
哪个应该打印为:
{
"userId": "25",
"givenName": "John",
"created": 1360080426303
}
Run Code Online (Sandbox Code Playgroud)
不确定它是否适合您,因为我的方法适用于Map具有List属性的方法:
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)
Run Code Online (Sandbox Code Playgroud)
收益率:
[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]]]
Run Code Online (Sandbox Code Playgroud)
过滤掉null值后,您可以将其渲染Map为JSON.
| 归档时间: |
|
| 查看次数: |
4812 次 |
| 最近记录: |