我正在通过Spring控制器传递一个看起来像这样的json对象:
{
"dataset":"myDataset",
"typeProperties":[
"myProperty"
],
"stopWords":{
"de":[ "daß","allem","dem"],
"fr":["salut"]
}
}
相应的java对象是:
public class DatasetConfigRequest {
String dataset = "";
List<String> typeProperties;
HashMap<String,ArrayList<String>> stopWords = new HashMap<String,ArrayList<String>>();
//getter and setters
但是当我通过它时,出现以下错误:
JSON parse error: Cannot deserialize instance of `java.util.HashMap<java.lang.Object,java.lang.Object>` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.HashMap<java.lang.Object,java.lang.Object>` out of START_ARRAY token
at [Source: (PushbackInputStream); line: 1, column: 104] (through reference chain: eu.qanswer.core2.server.controller.payload.dataset.DatasetConfigRequest["stopWords"])]
我知道问题是HashMap的值为ArrayList。但是如何解决呢?
谢谢 D063520
答案 0 :(得分:0)
创建一个新类并将其命名为stopWords,添加id和list字段,最后将一个字段添加至数据集类,将其命名为stopWords