【发布时间】:2019-01-26 05:59:47
【问题描述】:
我需要使用 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中获取codec值?
请提供您的意见。
【问题讨论】:
-
尝试为您的 json 数组创建一个模型类并使用该模型类获取元素的值
-
试试
videoInfo.get("codec").asText() -
@RajenRaiyarela 在尝试您的代码时遇到 java.lang.NullPointerException
-
您使用的是哪个 Jackson 版本?
-
您的代码有效。结果我得到了“prores”。您能否检查一下 getCodecInfo() 中的代码是否正确返回了 json 树?