我正在對Jackson進行一個非常簡單的測試。我有一個類,並使用它的對象作爲澤西方法的參數和返回值。 類是:將JSON反序列化爲Java對象包含使用Jackson的集合
import java.util.List;
public class TestJsonArray {
private List<String> testString;
public List<String> getTestString() {
return testString;
}
public void setTestString(List<String> testString) {
this.testString = testString;
}
}
我有嘗試將一個字符串添加到列表中測試串
@Path("/arrayObj")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Object createObjectArray(@QueryParam("param") String object) throws JsonGenerationException, JsonMappingException, IOException {
ObjectMapper objectMapper = new ObjectMapper();
TestJsonArray convertValue = objectMapper.convertValue(object, TestJsonArray.class);
convertValue.getTestString().add("hello");
return objectMapper.writeValueAsString(convertValue);
}
當我把這種方法與參數
{澤西方法「testString」:[「Hi」]}
我收到一個異常:
java.lang.IllegalArgumentException: Can not construct instance of test.rest.TestJsonArray, problem: no suitable creator method found to deserialize from JSON String
at [Source: N/A; line: -1, column: -1]
的異常在反序列化PROCESSS拋出:
TestJsonArray convertValue = objectMapper.convertValue(對象, TestJsonArray.class);
我想知道爲什麼會引發這個異常。我究竟做錯了什麼?
您是否創建了'TestJsonArray'只是爲了容納'ArrayList'?或者它包含其他字段? – sanbhat
這只是我真正的應用程序的測試表單。我真正的應用程序也包含其他字段 – pokeRex110