我是一个初学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);
}
}
}
当然,这不起作用,但我真的不确定从这里去哪里,我已经在互联网上搜索无济于事。
请有人帮助我!