Java 如何从JSON响应中计算null出现次数及其属性名

Java 如何从JSON响应中计算null出现次数及其属性名,java,json,jackson,Java,Json,Jackson,从url来看,很少有属性值会有空值,这需要跟踪(针对属性名称的空值的最终计数——这意味着一旦url中的所有JSON对象都被处理完毕)。 e、 g 在这种情况下,空出现的计数将是a=1,b=1。 我怎样才能做到这一点 注意:返回的JSON响应是一个对象数组,因此我将其存储为数组[] “url应该有空值”,这毫无意义。你的意思是JSON有空值,例如,{a:null,b:[1,null,2]}?编辑问题并举例说明你们的意思。@Andreas,是的,你们是对的。很少有属性值会有空值。我重复一下:编辑这个

从url来看,很少有属性值会有空值,这需要跟踪(针对属性名称的空值的最终计数——这意味着一旦url中的所有JSON对象都被处理完毕)。 e、 g

在这种情况下,空出现的计数将是
a=1,b=1
。 我怎样才能做到这一点


注意:返回的JSON响应是一个对象数组,因此我将其存储为数组[]

“url应该有空值”,这毫无意义。你的意思是JSON有空值,例如,
{a:null,b:[1,null,2]}
?编辑问题并举例说明你们的意思。@Andreas,是的,你们是对的。很少有属性值会有空值。我重复一下:编辑这个问题并举例说明你们的意思。还要解释/显示“针对属性名称的空值的最终计数”的含义。@Andreas,我已经编辑了我的问题什么是
JsonContainer
?要计数的键列表是否已修复?--也许您应该使用
readTree()
而不是
readValue()
,这样您就可以以通用的方式处理整个JSON结构,结果将是一个
映射。
public class JsonContainer {
@JsonProperty("a")
private List<String> a = null;
@JsonProperty("b")
private String b;
//  And their corresponding getter and setter methods
}   
JsonContainer[] jc = null;
ObjectMapper objectMapper = new ObjectMapper();
URL url = new URL("sample_url");
try {
  jc = objectMapper.readValue(url, JsonContainer[].class);
}
{ "a": null, 
  "b": "newyork"
 },
{ "a": "test1", 
  "b": null
 },