`

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

 

分享到:
评论

相关推荐

    fastjson的一个小例子

    在这个小例子中,我们将深入探讨FastJson的使用方法,以及它如何帮助开发者在Android开发中快速处理JSON数据。 在Android应用开发中,JSON是一种常见的数据交换格式,用于在服务器和客户端之间传递数据。FastJson以...

    springboot2.0整合fastjson以及各种使用实例

    总的来说,SpringBoot 2.0结合Fastjson的使用,极大地提高了JSON处理的效率和便捷性,使得在开发过程中,数据交换变得更加简单和高效。在实际项目中,开发者可以根据需求进一步优化配置,以适应各种复杂的JSON处理...

    C#简单快速的json组件fastJSON使用介绍.docx

    首先,需要将 fastJSON 组件添加到项目中,然后可以使用 fastJSON 的实例来序列化和反序列化数据。 ```csharp namespace test { class Program { static void Main(string[] args) { var zoo1 = new zoo(); ...

    fastjson使用实例

    10. **线程安全**:Fastjson的设计允许在多线程环境中安全使用,但为了获得最佳性能,建议在单线程或短生命周期的上下文中创建并使用`JSON`实例。 Fastjson的易用性和高性能使得它成为Java开发者处理JSON数据的首选...

    fastjson的各种用法例子

    通过以上实例,你可以了解Fastjson的基本用法,包括对象、数组的转换,JSON字符串的解析与构建,以及JSONPath和JSON Schema的使用。在实际项目中,结合这些知识点,你可以灵活地处理JSON数据。记住,实践是最好的...

    java FASTJSON 解析复杂JSON实例源码

    在这个实例中,我们将深入探讨如何使用Fastjson来解析复杂的JSON数据,并通过`JSONTest`这个示例代码来加深理解。 首先,让我们了解什么是JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...

    Gson和Fastjson 使用Demo

    以下是如何使用Fastjson进行序列化和反序列化的例子: 1. **序列化**: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; User user = new User(); // 设置属性... ...

    fastjson使用详解.md

    - 以下是一个简单的 `Person` 类的例子,展示了如何使用 `@JSONField` 注解来自定义 JSON 输出: ```java public class Person { @JSONField(name = "AGE") private int age; @JSONField(name = "LASTNAME", ...

    Android FastJSON小示例

    在这个例子中,我们使用`JSON.parseObject()`方法将JSON字符串解析成`JSONObject`对象,然后通过键值对获取对应的值。 同样,FastJSON也支持将Java对象转换为JSON字符串: ```java import ...

    fastjson使用

    在Java开发中,处理JSON数据是常见的需求,而Fastjson因其性能优越、使用简单的特点,深受开发者喜爱。以下是对Fastjson使用的一些关键知识点的详细讲解。 1. **对象与JSON字符串的转换** - `JSON.parseObject...

    Json_Gson_FastJson解析

    总结来说,org.json适合简单的JSON操作,而Gson和FastJson则提供了更丰富的功能,如直接映射到Java对象。Gson易于使用,而FastJson在性能上有优势。选择哪种库取决于项目的具体需求,如性能、易用性或对Java对象的...

    fastJson依赖jar包

    这个"fastJson依赖jar包"正是包含了Fastjson库的Java类库文件,供开发者在项目中引用使用。 Fastjson的核心功能包括以下几点: 1. **JSON解析与生成**:Fastjson提供了便捷的API,可以将JSON字符串解析成Java对象...

    fastjson.pdf

    下面是一个简单的FastJSON使用示例: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class FastJSONExample { public static void main(String[] args) { // 创建...

    fastjson解析json.rar

    总的来说,这个压缩包提供了使用Fastjson在Java中解析JSON的一个简单示例,涵盖了从网络获取数据、解析JSON、创建Java对象以及反向转化的全过程。通过学习和理解这些文件,开发者可以更好地掌握Fastjson的使用,提高...

    fastJSON文档

    为了演示FastJSON的基本使用,下面提供了一个简单的例子,涉及对象序列化和反序列化的实现。 ##### 示例代码 定义两个Java类`User`和`Group`: ```java public class User { private Long id; private String ...

    fastjson.jar

    对于复杂的数据结构,Fastjson提供了强大的映射能力,可以自动将JSON数据映射到对应的Java类实例上,甚至支持自定义的转换规则。 此外,Fastjson在性能方面表现出色。其内部采用了优化的算法,使得在解析和生成JSON...

    fastjson项目:Fastjson-master.zip

    1. **JSON串到Java对象的转换**:Fastjson提供了`parseObject()`方法,可以将JSON字符串解析成Java对象,如Map、List或自定义类实例。 2. **Java对象到JSON串的转换**:使用`toJSONString()`方法,可以将Java对象...

    fastjson-1.2.49.jar

    标题中的"fastjson-1.2.49.jar"表明这是一个Fastjson的特定版本,即1.2.49,它是一个Java Archive(JAR)文件,包含了Fastjson的类库,可供Java开发者在项目中引用使用。描述中提到"用于提取json数据",这正是...

    fastjson-master源码

    1. 字符串拼接优化:Fastjson使用StringBuilder而非String进行字符串拼接,避免了频繁的内存分配和字符串对象创建。 2. 缓存机制:Fastjson内部实现了字段名和字段值的缓存,对于重复序列化的对象,可以显著提高...

    阿里巴巴fastjson的jar包

    通过优化的解析算法,Fastjson能够在内存和CPU使用上达到最优,尤其在处理大量数据时,其速度和效率都远超同类产品。 **三、API使用** 1. **基本用法**: - 解析JSON字符串:`JSON.parseObject(jsonStr, Your...

Global site tag (gtag.js) - Google Analytics