若要使用jackson API将json字符串转换为pojo,可以使用:
String jsonInString = "{\"age\":33,\"messages\":[\"msg 1\",\"msg 2\"],\"name\":\"mkyong\"}";
User user1 = mapper.readValue(jsonInString, User.class);这要求创建与json字符串结构匹配的类用户。
使用json-简单API可以使用:
JSONObject json = (JSONObject)new JSONParser().parse(jsonInString);使用json-simple不需要包含与json格式匹配的pojo。类似的可以用在杰克逊身上吗?因为不需要创建与json结构匹配的类,所以json-simple不那么冗长。
发布于 2015-11-19 10:06:38
您可以使用类似的API。
JsonNode node = mapper.readTree(jsonInString);发布于 2015-11-19 10:04:46
Jackson可以将json字符串反序列化为通用映射:
Map<String, Object> m = new ObjectMapper().readValue(jsonInString, Map.class);
for (Map.Entry<String, Object> entry : m.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue() + "(" + entry.getValue().getClass().getName() + ")");
}产出:
age -> 33(java.lang.Integer)
messages -> [msg 1, msg 2](java.util.ArrayList)
name -> mkyong(java.lang.String)https://stackoverflow.com/questions/33800076
复制相似问题