您好,登錄后才能下訂單哦!
項目中原先使用gson解析數據,后來由于各種原因換成了fastjson;那么問題來了,如果你定義的實體對象的屬性方法和屬性名不一致,那么fastjson解析的數據始終為空,而gson始終可以解析。
gson解析使用的是屬性匹配法,無論你屬性方法定義成什么樣。
fastjson使用的屬性方法匹配法,即你必須將要獲取的數據的屬性字段和方法字段定義成getXX()才個可以。
eg:private String code;public String getCode(){ return code; }
有一種情況,后臺兩個接口,拿去相同的數據,但是返回的個別字段不一樣,后臺又不愿意改,你前端又不想在重新寫一個類,這怎么辦呢?
接口一的數據:
{
"title":"接口一",
"url":"http://www.baidu.com"
}
接口二的數據:
{
"title":"接口一",
"urlTmp":"http://www.baidu.com"
}
使用gson很方便:只要定義一個抽象類,兩個接口實現不同的字段,就ok了
abstarct class C{
private String title;
public abstarct String getUrl();
}
class A extends C{
//只要實現抽象方法就好
private String url;
public String getUrl(){ return url;}
}
class B extends C{
private String urlTmp;
public String getUrl(){ return urlTmp;}
}
而fastjson,就解析不了;但可以繞過,采用Map對象去解析,這就比較麻煩了
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。