jacksonによるjson変換で単純なクラスの変換は通るのですが
リスト化したものだとエラーが出て通りません
public class clstest implements Serializable {
public long testNo = 0;
}
public class clstestList implements Serializable {
public List<clstest> _list = new ArrayList<clstest>();
}
public void btnDebug(View view) {
clstestList tList = new clstestList();
clstest dat = new clstest();
dat.testNo = 1;
clstest dat2 = new clstest();
dat2.HosuNo = 2;
tList._list.add(dat);
tList._list.add(dat2);
ObjectMapper mapper = new ObjectMapper(); String json = ""; try { json = mapper.writeValueAsString(tList); } catch (JsonProcessingException e) { e.printStackTrace(); } try{ List<clstest> _list = mapper.readValue(json, new TypeReference<List<clstest>>() {}); ((clstestList) tList)._list = _list; } catch (IOException e) { e.printStackTrace(); } }
色々調べて最低限の構成で動かしているのですが、以下のようにミスマッチになってしまいます
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of java.util.ArrayList<cls.clstest>
out of START_OBJECT token
at [Source: (String)"{"_list":[{"testNo":1},{"testNo":2}]}"; line: 1, column: 1]
リストではなく以下のような単体の変換なら通りました
clstest result = mapper.readValue(json, clstest.class);
ListとArrayList等の混在が悪いのか?等色々試してみたのですがどうもうまく動きませんでした
どこをどうすればよいのでしょうか・・・

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。