gpt4 book ai didi

java - json-simple 与 jackson 在没有对象类型时解析 json

转载 作者:行者123 更新时间:2023-11-30 06:11:42 25 4
gpt4 key购买 nike

要使用 jackson API 将 json String 转换为 pojo 可以使用:

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

这需要创建匹配 json 字符串结构的类 User。

可以使用 json-simple API 代替:

JSONObject json = (JSONObject)new JSONParser().parse(jsonInString);

使用json-simple不需要包含匹配json格式的pojo。 jackson 可以使用类似的吗? json-simple 不那么冗长,因为不必创建与 json 结构匹配的类。

最佳答案

Jackson 可以将一个 json String 反序列化为一个通用的 Map:

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)

关于java - json-simple 与 jackson 在没有对象类型时解析 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33800076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com