[英]Parsing JSON with jackson, spring?
我有以下 JSON
{
"iD19.m3u8": {
"m3u8_ob": {
"type": "playlist",
"version": 3
}
},
"iD19180_400.m3u8": {
"m3u8_ob": {
"type": "playlist",
"version": 3
},
"scte35": [
{
"start": 9,
"end": null,
"duration": 62
}
]
},
"iD19180_700.m3u8": {
"m3u8_ob": {
"type": "playlist",
"version": 3
},
"scte35": [
{
"start": 9,
"end": null,
"duration": 62
}
]
}
}
已创建模型类如下
这是根
@JsonIgnoreProperties(ignoreUnknown = true)
public class Playlists {
Map<String,Playlist> playlists;
}
具有m3u8_ob
和scte35
的播放列表模型
@JsonIgnoreProperties(ignoreUnknown = true)
public class Playlist {
SCTE35 scte35;
M3U8 m3u8;
}
scte35
型号
@JsonIgnoreProperties(ignoreUnknown = true)
public class SCTE35 {
Object start;
Object end;
long duration;
String value;
}
m3u8_ob
模型
@JsonIgnoreProperties(ignoreUnknown = true)
public class M3U8 {
boolean isMasterPlaylist;
int version;
boolean independentSegments;
String source;
long targetDuration;
}
当我将 JSON 字符串传递给杰克逊时,我得到 null
Playlists sessionData = objectMapper.readValue(new String(data.value()), Playlists.class);
System.out.println(sessionData.toString());
这里的模型类有什么问题? 根对象键可能是随机的,这就是我将其作为地图的原因。 假设模型类中已经存在 setter 和 getter。
我想它会尝试映射到字段playlists
,因为这是Playlists
类中映射字段的名称,但根对象根本没有。 我认为您应该立即映射到Map<String, Playlist>
您的 json 中的键也是 m3u8_ob 但您的字段称为 m3u8,为什么? 这似乎是未来问题的可能候选者。 其他字段也不匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.