一.简介
阿里巴巴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的使用方法,以及它如何帮助开发者在Android开发中快速处理JSON数据。 在Android应用开发中,JSON是一种常见的数据交换格式,用于在服务器和客户端之间传递数据。FastJson以...
总的来说,SpringBoot 2.0结合Fastjson的使用,极大地提高了JSON处理的效率和便捷性,使得在开发过程中,数据交换变得更加简单和高效。在实际项目中,开发者可以根据需求进一步优化配置,以适应各种复杂的JSON处理...
首先,需要将 fastJSON 组件添加到项目中,然后可以使用 fastJSON 的实例来序列化和反序列化数据。 ```csharp namespace test { class Program { static void Main(string[] args) { var zoo1 = new zoo(); ...
10. **线程安全**:Fastjson的设计允许在多线程环境中安全使用,但为了获得最佳性能,建议在单线程或短生命周期的上下文中创建并使用`JSON`实例。 Fastjson的易用性和高性能使得它成为Java开发者处理JSON数据的首选...
通过以上实例,你可以了解Fastjson的基本用法,包括对象、数组的转换,JSON字符串的解析与构建,以及JSONPath和JSON Schema的使用。在实际项目中,结合这些知识点,你可以灵活地处理JSON数据。记住,实践是最好的...
在这个实例中,我们将深入探讨如何使用Fastjson来解析复杂的JSON数据,并通过`JSONTest`这个示例代码来加深理解。 首先,让我们了解什么是JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...
以下是如何使用Fastjson进行序列化和反序列化的例子: 1. **序列化**: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; User user = new User(); // 设置属性... ...
- 以下是一个简单的 `Person` 类的例子,展示了如何使用 `@JSONField` 注解来自定义 JSON 输出: ```java public class Person { @JSONField(name = "AGE") private int age; @JSONField(name = "LASTNAME", ...
在这个例子中,我们使用`JSON.parseObject()`方法将JSON字符串解析成`JSONObject`对象,然后通过键值对获取对应的值。 同样,FastJSON也支持将Java对象转换为JSON字符串: ```java import ...
在Java开发中,处理JSON数据是常见的需求,而Fastjson因其性能优越、使用简单的特点,深受开发者喜爱。以下是对Fastjson使用的一些关键知识点的详细讲解。 1. **对象与JSON字符串的转换** - `JSON.parseObject...
总结来说,org.json适合简单的JSON操作,而Gson和FastJson则提供了更丰富的功能,如直接映射到Java对象。Gson易于使用,而FastJson在性能上有优势。选择哪种库取决于项目的具体需求,如性能、易用性或对Java对象的...
这个"fastJson依赖jar包"正是包含了Fastjson库的Java类库文件,供开发者在项目中引用使用。 Fastjson的核心功能包括以下几点: 1. **JSON解析与生成**:Fastjson提供了便捷的API,可以将JSON字符串解析成Java对象...
下面是一个简单的FastJSON使用示例: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class FastJSONExample { public static void main(String[] args) { // 创建...
总的来说,这个压缩包提供了使用Fastjson在Java中解析JSON的一个简单示例,涵盖了从网络获取数据、解析JSON、创建Java对象以及反向转化的全过程。通过学习和理解这些文件,开发者可以更好地掌握Fastjson的使用,提高...
为了演示FastJSON的基本使用,下面提供了一个简单的例子,涉及对象序列化和反序列化的实现。 ##### 示例代码 定义两个Java类`User`和`Group`: ```java public class User { private Long id; private String ...
对于复杂的数据结构,Fastjson提供了强大的映射能力,可以自动将JSON数据映射到对应的Java类实例上,甚至支持自定义的转换规则。 此外,Fastjson在性能方面表现出色。其内部采用了优化的算法,使得在解析和生成JSON...
1. **JSON串到Java对象的转换**:Fastjson提供了`parseObject()`方法,可以将JSON字符串解析成Java对象,如Map、List或自定义类实例。 2. **Java对象到JSON串的转换**:使用`toJSONString()`方法,可以将Java对象...
标题中的"fastjson-1.2.49.jar"表明这是一个Fastjson的特定版本,即1.2.49,它是一个Java Archive(JAR)文件,包含了Fastjson的类库,可供Java开发者在项目中引用使用。描述中提到"用于提取json数据",这正是...
1. 字符串拼接优化:Fastjson使用StringBuilder而非String进行字符串拼接,避免了频繁的内存分配和字符串对象创建。 2. 缓存机制:Fastjson内部实现了字段名和字段值的缓存,对于重复序列化的对象,可以显著提高...
通过优化的解析算法,Fastjson能够在内存和CPU使用上达到最优,尤其在处理大量数据时,其速度和效率都远超同类产品。 **三、API使用** 1. **基本用法**: - 解析JSON字符串:`JSON.parseObject(jsonStr, Your...