一.简介
阿里巴巴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"); } }