我正在尝试使用Jackson将Map序列化为Java对象。我得到了几个不同的地图,其中一个看起来像下面(采用JSON格式)
{
"MediaUrl1": "https://someValidUrl2",
"ApiVersion": "v1",
"MediaUrl0": "https://someValidUrl1",
"ToZip": "",
"FromCity": "xxxx",
"To": "+1234567890",
"FromZip": "123456",
"ToCountry": "xxxx",
"Body": "Testing more than one media item with message",
"MediaContentType1": "image/jpeg",
"MediaContentType0": "image/jpeg",
"NumMedia": "2",
"FromState": "xxxx"
}
是否有一种干净的方法来处理带有
等键的json属性 "MediaUrl1": "https://someValidUrl2",
"MediaUrl0": "https://someValidUrl1",
"MediaContentType1": "image/jpeg",
"MediaContentType0": "image/jpeg",
目前我有一个使用
生成的POJOobjectMapper.convertValue(inputMap, JavaObject.class))
我无法事先知道我得到了多少MediaContentType#,MediaUrl#属性。感谢。
答案 0 :(得分:0)
您始终可以将json映射到Map<String, Object>
。
Map<String, Object> obj = new ObjectMapper().readValue(src,
new TypeReference<HashMap<String, Object>>() {});
地图可以轻松处理任何类型和数量的属性。
答案 1 :(得分:0)
我最终分别处理了mediaContentType和mediaUrls。感谢您的回答和评论。