一.简介
阿里巴巴fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库;包括“序列化”和“反序列化”两部分,它具备如下特征:
a.速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
b.功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)。
二.fastjson.jar工具处理JSON串实例
/**
*
{
"acceptInsuranceDate": "2011-04-23 22:56:24",
"actualPremium": 150,
"amountCurrencyCode": "01",
"applyNo": "10036001900000242020",
"type": "1",
"typeName": "个人",
"applicantInfoDTOs": [
{
"address": "天津市天津市河西区",
"age": 33,
"birthday": "2011-04-07 00:00:00"
}
],
"extendDTO": {
"createdBy": "zhangshan",
"createdDate": "2011-04-23 21:51:32",
"disputedSettleMode": "1"
}
}
* @param json
* @throws Exception
*/
public void bjdemo(@RequestBody String json) throws Exception {
JSONObject jsonObject = JSONObject.parseObject(json);
//获取普通参数
String amountCurrencyCode = jsonObject.getString("amountCurrencyCode");
String applyNo = jsonObject.getString("applyNo");
Date acceptInsuranceDate = jsonObject.getDate("acceptInsuranceDate");
Integer actualPremium = jsonObject.getInteger("actualPremium");
//获取嵌套对象及里面的参数,多层嵌套类似
JSONObject extendJSON = jsonObject.parseObject("extendDTO");
String createdBy = extendJSON.getString("createdBy");
//JSONArray字符串转json数组
JSONArray applicantInfoDTOsJSON = jsonObject.parseArray("applicantInfoDTOs");
for (int i = 0; i < applicantInfoDTOsJSON.size(); i++) {
JSONObject jo = (JSONObject) applicantInfoDTOsJSON.get(i);
String address = (String) jo.getString("address");
int age = jo.getIntValue("age");
}
}