2013-12-23 33 views
0

我從後端看起來像這樣的接收對象:JsonParseExeption未能反序列化對象

{name : String, 
author : String, 
updater : String, 
media : String, 
} 

不過有時候媒體等於別人出頭,但我不能改變的服務,但我想不要管它。

-media :[{type:String, 
      path:String} 
     {type:String 
      path:String}] 

如果此類型不是字符串,如顯示的那樣,只需放置null即可。

我正在使用Gson來解碼我的json字符串。

編輯:我班上的 部分:

private String id; 
private String nom; 
private String nom_en; 
private String adresse; 
private String adresse2; 
private String cp; 
private String ville; 
private String pays; 
private String coordonnees_x; 
private String coordonnees_y; 
private String contactName; 
private String email; 
private String telephone_1; 
private String telephone_2; 
private String fax; 
private String website; 
private String date_ajout; 
private String ArticleRefId; 
private String media; 
private int type; 
private List<AdresseCategorie> categories; 
private String ArticleTitle; 
private ArticleObject article; 
+0

發佈你的類的代碼,你正在將它反序列化 – gaurav5430

回答

1

有幾個可供選擇的,最簡單的一種是media字段更改爲Object

這樣做,Gson將創建String,如果您的JSON與第一種情況類似,則在第二種情況下爲Map。該地圖將包含兩個密鑰,typepath。使用instanceof您可以檢查media字段並執行您的任何需求。