Как получить значение из дочернего jsonnode с помощью Java

Мне нужно получить значение кодека из jsonnode с помощью Java. Ниже приводится jsonnode с родительским и дочерним узлами.

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

следующий фрагмент кода не возвращает значение для кодека. Всегда возвращает ноль.

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

Как получить значение кодека из вышеупомянутого JSON с помощью Java?

Пожалуйста, предоставьте ваш вклад.

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"));
Другие вопросы по тегам