微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/json/289766.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐