【发布时间】:2021-10-02 13:14:29
【问题描述】:
我需要将 json 序列化为 Map。我儿子长这样:
{
items: [{
"name": "Test1",
"value": {
"id": 1,
"count": 5
}
}]
}
我有以下课程:
public class Value {
public int id;
public int count;
}
public class ItemManager {
public Map<String, Value> items;
}
我试图像这样反序列化它:
class Main {
public static void main(String... args) {
ObjectMapper mapper = new ObjectMapper();
ItemManager manager = mapper.read(args[0], ItemManager.class);
}
}
但我得到以下异常:
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `test.ItemManager` out of START_ARRAY token
at [Source: (String)"{
我需要将name 作为键,value 作为值。
有人可以帮忙吗?
【问题讨论】:
-
你没有为别人做任何事情。
-
你不想要一个地图,你想要一个项目列表,其中每个项目都有一个属性字符串名称和一个属性值值。
-
@ScottHunter 因为我不知道该怎么做
-
你显然不知道怎么做所有;你知道怎么做任何吗?
-
“上帝帮助那些自助的人”:如果你不愿意为解决这个问题做出任何努力,我为什么要这样做?
标签: java jackson jackson-databind