bean转换成json中遇到的一些问题~

bean转换成json中遇到的一些问题~

1.选用哪种框架好?
个人经验和网上数据表明,解析和转换速率
jackson>gson>json-lib
不过个人觉得jackson虽然功能强大且速度快,但是不推荐使用,感觉引入后代码比较冗余复杂。
所以本人比较推荐阿里巴巴的 fastjson,小巧易用,且迅速!

2.当需求json串中的key值首写字母为大写字母时,貌似只有fastjson有对应的解决方案!
 "checksum_seg": [
            {
                "ACity": "SHA",
                "ACityID": "2",
                "ACityName": "上海",
                "APort": "PVG",
                "APortName": "浦东国际机场",
                "ATime": "2120",
                "ATimeString": "21:20",
                "AirLineName": "东方航空",
                "Airline": "MU",
                "AirlineCode": "MU",
                "CraftType": "323",
                "DCity": "BJS",
                "DCityID": "1",
                "DCityName": "北京",
                "DPort": "PEK",
                "DPortName": "首都国际机场",
                "DTime": "1905",
                "DTimeString": "19:05",
              ......           }
其中ACity、ACityID中首写字母均为大写字母,在json转义,通过java反射机制,会将其手写字母默认转为大写字母,生成的json串为:
checksum_segs_List":[{"aCity":"SHA","aCityID":"2",......

要解决,需要处理两个问题:
问题一,是在写bean的时候,并不能按照elipse默认生成的get/set方法的方式,需要手写调整:
public String getACity() {
	return ACity;
}
public void setACity(String ACity) {
	this.ACity = ACity;
}
问题二,问最关键一步,网上也有人碰见这样的问题。这时需要将 该属性置为public ,这样 fastjson能读取bean的属性名称,而不会通过反射机制来自动拼装属性对应key值
public String ACity;
	public String ACityID;
	public String ACityName;
	public String APort;
	public String APortName;
......
紧接着,需要删除eclipse生成的get方法!!!

综上所诉,个人在处理json串转换的问题上,倾向与使用fastjson。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值