我在jsonString字段中有一个json字符串,并且我正在使用ObjectMapper。
String jsonString = {"age":12,"location":"UK","gender":"male"};
ObjectMapper mapper = new ObjectMapper();
Map map = mapper.readValue(jsonString, Map.class);
有没有办法从Map中检索字段类型而不是使用Pojo类。例如,age是整数类型,性别是string类型,它不涉及使用Pojo类,而是使用Map类?谢谢
发布于 2018-07-02 00:13:06
可以,只需调用(映射器来自com.fasterxml.jackson.databind.ObjectMapper)
String age = (String) map.get("age");
发布于 2018-07-02 00:15:12
你可以做到这一点。但是你需要从Object类型转换为有效类型。
String jsonString = "{\"age\":12,\"location\":\"UK\",\"gender\":\"male\"}";
ObjectMapper mapper = new ObjectMapper();
try {
Map map = mapper.readValue(jsonString, Map.class);
System.out.println(map);
Integer age = (int)map.get("age");
System.out.println(age);
System.out.println(map.get("age").getClass());
}catch (IOException|NullPointerException e){}
您可以使用getClass()方法获取类型。
System.out.println(map.get("age").getClass());
https://stackoverflow.com/questions/51124865
复制相似问题