【发布时间】:2018-12-27 14:17:08
【问题描述】:
我正在尝试通过查看此处的玩具示例来了解 Jackson 进行 JSON 解析的窍门: http://wiki.fasterxml.com/JacksonInFiveMinutes
JSON:
{
"name" : { "first" : "Joe", "last" : "Sixpack" },
"gender" : "MALE",
"verified" : false,
"userImage" : "Rm9vYmFyIQ=="
}
我在使用“原始”数据绑定 sn-ps 时遇到问题:
1 ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
2 Map<String,Object> userData = mapper.readValue(new File("user.json"), Map.class);
“name”的值是 {first=Joe, last=Sixpack}。当然,原始数据绑定可以处理嵌套的 JSON 对象,但我不知道如何访问 first 和 last 的值。我做错了什么?
【问题讨论】:
-
该键 (
name) 的Object是 Map 吗?只需投射它并使用这些键(第一个,最后一个)访问它。 -
杰克逊会尽其所能,
name的关键是Map<String, String>。当你.get()它时,只需投射它。 -
@fge 你的意思是键
name的值吗? -
((Map
) userData.get("name")).get("first"); -
谢谢你们! +业力