2013-12-23 30 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字段并执行您的任何需求。