下面是要解析的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