1

我需要使用 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中获取编解码器值?

请提供您的意见。

4

1 回答 1

1

您可以为此使用 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"));
于 2018-08-20T06:30:03.717 回答