如何使用Java从子jsonnode获取值

时间:2018-08-20 06:24:55

标签: java jsonnode

我需要使用Java从jsonnode获取编解码器值。以下是带有父节点和子节点的jsonnode。

{  
   "DetectedProperties":{  
      "Bitrate":262610704,
      "FrameRate":"24/1",
      "FileSize":32827252,
      "Height":1080,
      "Width":1920,
      "DurationMillis":1.0,
      "codec":"prores"
   }
}

以下代码片段未返回编解码器的值。它总是返回null。

JsonNode videoProperties = getCodecInfo(videoFile);
JsonNode videoInfo = videoProperties.get("DetectedProperties");
log.debug("codec: " + videoInfo.get("codec").toString()); // returns null

如何使用Java从上述json获取编解码器值?

请提供您的输入。

1 个答案:

答案 0 :(得分:0)

您可以为此使用json表达式“ / DetectedProperties / codec”。

  JsonParser parser = new JsonFactory().createParser(getCodecInfo().toString());
  parser.setCodec(new ObjectMapper());
  TreeNode tree = parser.readValueAsTree();
  System.out.println(tree.at("/DetectedProperties/codec"));