Java 如何从JSON响应中计算null出现次数及其属性名
从url来看,很少有属性值会有空值,这需要跟踪(针对属性名称的空值的最终计数——这意味着一旦url中的所有JSON对象都被处理完毕)。 e、 g 在这种情况下,空出现的计数将是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,是的,你们是对的。很少有属性值会有空值。我重复一下:编辑这个
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
},