簡體   English   中英

傑克遜-無法反序列化字符串列表

[英]Jackson - Cannot deserialize list of strings

雙方都有:

Class ListWrapper {
    public List<String> l;
    ListWrapper(List<String> l) {
        this.l = l;
    }
}

在客戶端,我有:

    ObjectMapper mapper = new ObjectMapper();
String fl;
    try {
        fl = mapper.writeValueAsString(new ListWrapper(u.getList()));
    } catch (IOException e) {
        fl = "null";
    }

在服務器端,我有:

String data = getQuery().........;
List l = new ObjectMapper.readValue(data,ListWrapper.class).list;

但是我得到了:

org.codehaus.jackson.map.JsonMappingException: Can not create Bean deserializer for ([simple type, class il.ac.technion.ssdl.hitch.resource.ListWrapper]): neither default/delegating constructor nor factory methods found

當我嘗試反序列化列表時。

編輯:

在客戶端上打印列表時,我得到:

 {"list":["v1","v2,"v3"]}

默認/委托構造函數或工廠方法均未找到

您的ListWrapper類可能缺少默認的構造函數。

public ListWrapper(){
}

您的JSON字符串不正確:

{“ list”:[“ v1”,“ v2,” v3“]} <<< --- v2之后缺少雙引號!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM