【发布时间】:2019-03-01 20:53:23
【问题描述】:
我是一名初级 Java 程序员,如果我的问题有点愚蠢,我很抱歉。
我有一个如下所示的 JSON 对象:
{
"element1" : {
"generated_name_1": {
"a" : {"isReady":false}
},
"generated_name_2":{},
"generated_name_3":{},
"generated_name_4":{}
},
"element2" : {
"generated_name_5" : {
"a" : {"isReady":false},
"g" : {"isReady":false}
}
},
"element3" : {
"a" : { "isReady":false},
"n":{}
}
}
我想检查并删除每个具有与之关联的空值的元素,例如“generated_name_2”和“n”。我不知道这些元素的名称是什么,也不知道它在 JSON 树中的嵌套程度。
我知道我必须编写一个递归程序,这就是我想出的:
public static void cleanJsonNodes(ObjectNode myJsonNode){
for (JsonNode currentNode : myJsonNode){
if (currentNode.size() == 0){
myJsonNode.remove(currentNode);
} else {
cleanJsonNodes((ObjectNode)currentNode);
}
}
}
当然,这行不通,但我不确定从这里去哪里,我在互联网上搜索无济于事。
请有人帮助我!
【问题讨论】: