2
私はjson攪拌を逆シリアル化しようとしています。問題がどこにあるのか理解していない。それは私のJSON文字列(placesData)throwing-START_OBJECTトークンからmy.package.name.PlaceData []のインスタンスを逆シリアル化できません
org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of my.package.name.PlaceData[] out of START_OBJECT token
at [Source: [email protected]; line: 1, column: 1]
が
{
"d":[
{
"__type":"my.package.name.PlaceData",
"Id":1212,
"Name":"Delhi",
"MeetingId":1211,
"Sessions":[]
},
{
"__type":"my.package.name.PlaceData",
"Id":8787,
"Name":"Bangalore",
"MeetingId":1211,
"SessionNames":[]
}
]
}
Javaオブジェクト
public class PlaceData {
public String __type;
public Integer Id;
public String Name;
public Integer MeetingId;
public SessionData[] sessionData=new SessionData[0];
public PlaceData() {
}
@Override
public String toString() {
return "PlaceData{" +
"__type='" + __type + '\'' +
", Id=" + Id +
", Name='" + Name + '\'' +
", MeetingId=" + MeetingId +
", SessionData=" + Arrays.toString(SessionData) +
'}';
} }
は - デシリアライズが
ObjectMapper mapper = new ObjectMapper();
List<PlaceData> placesList = Arrays.asList(mapper.readValue(placesData, PlaceData[].class));
任意の手掛かりをコード - されています?
返信いただきありがとうございます。もう少し説明してください。与えられたjsonをどのように非直列化できますか? – JohnC
Map>にデシリアライズし、map.get( "d")を使用してリストを取得してみてください –
ありがとう、たくさんの男!出来た。私はそれを次のように追加しました。 - TypeReference> typeRef = new TypeReference >(){}; ハッシュマップレスポンス= mapper.readValue(placesData、typeRef); ' –
JohnC