fastjson简单使用实例

一.简介

        阿里巴巴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");
    }
}

猜你喜欢

转载自bijian1013.iteye.com/blog/2217578