我正在使用Jackson Object Mapper(com.fasterxml.jackson.databind.ObjectMapper)来解析json字符串,需要计算单词“path”的次数 在字符串中出现。字符串看起来像:
"rows":[{"path":{"uid":"2"},"fields":[]},{"path":{"uid":"4"},"fields":[]},{"path":{"uid":"12"},....
是否有人知道哪种API选项最有效?
答案 0 :(得分:2)
要计算“行”根目录中“孩子”的总数,您可以使用以下代码:
String inputJsonString = "{\"rows\":[{\"path\":{\"uid\":\"2\"},\"fields\":[]},{\"path\":{\"uid\":\"4\"},\"fields\":[]},{\"path\":{\"uid\":\"12\"},\"fields\":[]}]}";
ObjectNode root = (ObjectNode) new ObjectMapper().readTree( inputJsonString );
root.get( "rows" ).size();
如果您需要获取“路径”出现的确切数量,您可以使用以下代码:
int counter = 0;
for( Iterator<JsonNode> i = root.get( "rows" ).iterator(); i.hasNext(); )
if( i.next().has( "path" ) )
counter++;
System.out.println(counter);