java 開發用javabean解析json數據&Fastjson javabean轉爲json Null屬性不顯示

下面是要解析的json字符串

String dc_cover ={"citys":["11","12","13"],"districts":[["1","2","3"],["4","5","6"],["7","8","9"]]}

首先,根據json的數據格式寫對應的javabean,如下:

public class DcCoverBean implements Serializable{
    private static final long serialVersionUID = -74792293394L;
    private List<String> citys;
    private List<List<String>> districts;

    public List<String> getCitys() {
        return citys;
    }

    public void setCitys(List<String> citys) {
        this.citys = citys;
    }

    public List<List<String>> getDistricts() {
        return districts;
    }

    public void setDistricts(List<List<String>> districts) {
        this.districts = districts;
    }
}

下面是用java 解析json字符串的代碼
由於此處博主的json字符串 citys和districts的數量一樣,且一一對應,故用如下解析

DcCoverBean dcCoverBean = Json.fromJson(DcCoverBean.class, dc_cover);
                int size = dcCoverBean.getCitys().size();
                List<String> citys = dcCoverBean.getCitys();
                List<List<String>>  districts = dcCoverBean.getDistricts();
                for (int i = 0;i < size;i++){
                    String city = citys.get(i);
                    List<String> district = districts.get(i);
                    System.out.println(city.toString());
                    System.out.println(district.toString());
                    }

最終打印出   11  ["1","2","3"]  12  ["4","5","6"] 13 ["7","8","9"]

如果需要進一步解析,只要從list數組中用get取得就可以.

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fastjson 生成json時Null屬性不顯示

Map < String , Object > jsonMap = new HashMap< String , Object>();
jsonMap.put("a",1);
jsonMap.put("b","");
jsonMap.put("c",null);
jsonMap.put("d","wuzhuti.cn");

String str = JSONObject.toJSONString(jsonMap);
System.out.println(str);
//輸出結果:{"a":1,"b":"",d:"wuzhuti.cn"}

SerializerFeature序列化屬性

也就是這個方法:JSONObject.toJSONString(Object object, SerializerFeature… features)

Fastjson的SerializerFeature序列化屬性

QuoteFieldNames———-輸出key時是否使用雙引號,默認爲true
WriteMapNullValue——–是否輸出值爲null的字段,默認爲false
WriteNullNumberAsZero—-數值字段如果爲null,輸出爲0,而非null
WriteNullListAsEmpty—–List字段如果爲null,輸出爲[],而非null
WriteNullStringAsEmpty—字符類型字段如果爲null,輸出爲”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果爲null,輸出爲false,而非null

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章