Как получить значение из дочернего 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"));