首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当没有obj类型时,json-simple与jackson用于解析json

当没有obj类型时,json-simple与jackson用于解析json
EN

Stack Overflow用户
提问于 2015-11-19 09:39:24
回答 2查看 689关注 0票数 2

若要使用jackson API将json字符串转换为pojo,可以使用:

代码语言:javascript
复制
String jsonInString = "{\"age\":33,\"messages\":[\"msg 1\",\"msg 2\"],\"name\":\"mkyong\"}";
User user1 = mapper.readValue(jsonInString, User.class);

这要求创建与json字符串结构匹配的类用户。

使用json-简单API可以使用:

代码语言:javascript
复制
JSONObject json = (JSONObject)new JSONParser().parse(jsonInString);

使用json-simple不需要包含与json格式匹配的pojo。类似的可以用在杰克逊身上吗?因为不需要创建与json结构匹配的类,所以json-simple不那么冗长。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-19 10:06:38

您可以使用类似的API。

代码语言:javascript
复制
JsonNode node = mapper.readTree(jsonInString);
票数 2
EN

Stack Overflow用户

发布于 2015-11-19 10:04:46

Jackson可以将json字符串反序列化为通用映射:

代码语言:javascript
复制
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() + ")");
}

产出:

代码语言:javascript
复制
age -> 33(java.lang.Integer)
messages -> [msg 1, msg 2](java.util.ArrayList)
name -> mkyong(java.lang.String)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33800076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档