我正在尝试解析一些包含嵌套数组的JSON。我希望数组映射到父映射中的子对象列表。这是(稍微缩写)JSON和Java类
JSON:
{
"id": "12121212121",
"title": "Test Object",
"media$content": [
{
"plfile$audioChannels": 1,
"plfile$audioSampleRate": 18000,
},
{
"plfile$audioChannels": 2,
"plfile$audioSampleRate": 48000,
},
{
"plfile$audioChannels": 2,
"plfile$audioSampleRate": 48000,
}
]
}
Java类
class MediaObject {
@JsonProperty("id")
private String id;
@JsonProperty("title")
private String title;
@JsonProperty("media$Content")
private List<MediaContent> mediaContent;
... getters/setters ...
}
class MediaContent {
@JsonProperty("plfile$audioChannels")
private int audioChannels;
@JsonProperty("plfile$audioSampleRate")
private int audioSampleRate;
... getters/setters ...
}
我希望能够使用注释和标准映射器代码反序列化,即 mapper.readValue(jsonString,MediaObject.class)
“id”和“title”字段的一切正常,但我的MediaContent对象列表总是为空。这似乎杰克逊应该能够毫不费力地处理,有人能看到我在这里做错了什么吗?
答案 0 :(得分:2)
json字段的名称错误 - 该属性不是media$Content
,而是media$[c]ontent
。否则我不明白为什么它不起作用。