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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值