使用Jackson Object Mapper计算Json字符串中Word的实例数

时间:2013-07-31 10:59:14

标签: json jackson

我正在使用Jackson Object Mapper(com.fasterxml.jackson.databind.ObjectMapper)来解析json字符串,需要计算单词“path”的次数 在字符串中出现。字符串看起来像:

"rows":[{"path":{"uid":"2"},"fields":[]},{"path":{"uid":"4"},"fields":[]},{"path":{"uid":"12"},....

是否有人知道哪种API选项最有效?

1 个答案:

答案 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);