java - 使用 Jackson 解析器将 JSON 数组转换为 HashMap<String,Object>

标签 java hashmap jackson

我正在使用:导入 com.fasterxml.jackson.databind.*

我有一个 json 数组:

{"nodes":
    [
     {"blockId":"decision1422461296135","text":"hello"},  
     {"blockId":"Action1422461296640","text":"Action"},  
     {"blockId":"prompt1422461298089","text":"Prompt"}
    ]
}

我想将上面的数组转换为HashMap< String,Node > ,其中键是 blockId,Node 是一个 POJO,其中包含 id 和文本字段。

我宁愿不使用任何其他外部库。

现在我正在转换 JSON arrayArray of Nodes然后迭代数组以创建 HashMap我想。我不认为这是优化的。我想创建HashMapObjectMapper解析 JSON(因此只需 1 次通过 JSON 数组)。

最佳答案

能否将 JSON 结构更改如下:

{    
 "decision1422461296135":{"text":"hello"},  
 "Action1422461296640":  {"text":"Action"},  
 "prompt1422461298089":  {"text":"Prompt"}
}

Nodes 类可能如下所示:

public class Nodes {
    private Map<String,Node> nodesMap;
}

关于java - 使用 Jackson 解析器将 JSON 数组转换为 HashMap<String,Object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29739487/

相关文章:

java - 无法导入 Jackson .databind 库

java - 在java中查询一个JSONObject

java - 在 for 循环条件下这行是什么意思?

java - 如何使用 Arraylist<Hashmap<String,String>> 中的 bundle 使用 putserializable 获取传递的值

java - 对可能包含数字的字符串进行排序

java - java中向Hashmap中插入字符。HashMap中字符的顺序与输入顺序不同

java - 通过输入 HashMap 值获取 HashMap key 无法按预期工作

java - 反序列化类中的 Autowiring

java - java原子整数可以在不声明值 volatile 的情况下实现吗?

java - 自定义 Java Swing Meter 控件