2017-05-15 28 views
0

ジャクソンを使用してJson StringをJavaのObjectに変換するのは困難です。Jackson Json内部オブジェクトのリスト

モデル

public class MyList {  
    public List<MyObj> ads; 
} 

public class MyObj {  
    public String id_ad; 
} 

データ:

String con = "{\"ads\":[{\"id_ad\":\"20439\"}, {\"id_ad\":\"20449\"}]"; 

取得コード:

ObjectMapper objectMapper = new ObjectMapper(); 
MyList annonces = objectMapper.readValue(con, MyList.class); 

エラー:

Erreur dans getAllAds: com.fasterxml.jackson.core.io.JsonEOFException: 
Unexpected end-of-input: expected close marker for Object (start marker at [Source: {"ads":[{"id_ad":"20439"}, {"id_ad":"20449"}]; line: 1, column: 1]) 
at [Source: {"ads":[{"id_ad":"20439"}, {"id_ad":"20449"}]; line: 1, column: 91] 

質問:

  1. 何が問題なのですか?

  2. ゲッター/セッターがジャクソンに必要ですか公共のメンバーが で問題なく動作しますか?

答えて

1

JSONが正しくありません。末尾に角かっこ(})がありません。

変更から:

String con = "{\"ads\":[{\"id_ad\":\"20439\"}, {\"id_ad\":\"20449\"}]"; 

へ:

String con = "{\"ads\":[{\"id_ad\":\"20439\"}, {\"id_ad\":\"20449\"}]}"; 
関連する問題