版本:
fastjson-1.1.28.jar
commons-lang-2.4.jar
概述:
fastjson为一款JSON 解析器和同时支持序列化操作,性能很高。
使用demo:
public class JsonVo { public JsonVo() { super(); } public JsonVo(String id, String name) { super(); this.id = id; this.name = name; } private String id; private String tid; private String name; private Set<String> set; public String getId() { return id; } public Set<String> getSet() { return set; } public void setSet(Set<String> set) { this.set = set; } public String getTid() { return tid; } public void setTid(String tid) { this.tid = tid; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Tmp [id=" + id + ", name=" + name + ", set=" + set + ", tid=" + tid + "]"; } }
使用:
JsonVo tmp = new JsonVo("id1", "name1"); String json = JSON.toJSONString(tmp); System.out.println(json); String jsonStr = "{\"id\":\"id1\",\"name\":\"name1\"}"; JSONObject jsonObject = JSONObject.parseObject(jsonStr); System.out.println("->" + JSONObject.toJavaObject(jsonObject, Map.class)); System.out.println(JSON.toJavaObject(JSON.parseObject(jsonStr), JsonVo.class)); System.out.println(Boolean.valueOf(null)); Map<String, Float> map = new HashMap<String, Float>(); for (int i = 0; i < 100; i++) { String key = RandomStringUtils.random(3, "abcd"); float value = RandomUtils.nextFloat(); map.put(key, value); } System.out.println(map); Map<String, Float> last = JSON.toJavaObject(JSONObject.parseObject(JSON.toJSONString(map)), Map.class); Set<Entry<String, Float>> set = last.entrySet(); Iterator<Entry<String, Float>> entryIterator = last.entrySet().iterator(); while (entryIterator.hasNext()) { Entry<String, Float> entry = entryIterator.next(); System.out.println(entry.getKey()); System.out.println(entry.getValue()); } System.out.println(last); Set<String> hashSet = new HashSet<String>(); for (int i = 0; i < 100; i++) { String key = RandomStringUtils.random(3, "abcd"); hashSet.add(key); } tmp.setSet(hashSet); json = JSON.toJSONString(tmp); System.out.println(json); JsonVo tm = JSON.parseObject(json, JsonVo.class); System.out.println(tm); tm = JSON.parseObject(JSON.toJSONBytes(tm), JsonVo.class); System.out.println("=>" + tm); System.out.println("=>" + JSON.toJSONString(JSON.toJSONBytes(tm)));
对于List<T>处理
List<T> list=JSON.parseArray(String text, T.class)
对于Map<String,T>处理
Map<String, T> userMap = JSON.parseObject(text, new TypeReference<Map<String, T>>() { @Override public Type getType() { return super.getType(); } });
相关推荐
在这个实例中,我们将讨论三种流行的Java JSON库:Gson、FastJson和json-lib。 1. Gson: Gson是Google提供的一个开源库,它可以直接将Java对象转换成JSON字符串,也可以将JSON字符串反序列化为Java对象。Gson的...
在这个实例中,我们将深入探讨如何使用Fastjson来解析复杂的JSON数据,并通过`JSONTest`这个示例代码来加深理解。 首先,让我们了解什么是JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...
在Java开发中,Fastjson是阿里巴巴提供的一款高效且强大的JSON库,用于处理JSON与Java对象之间的转换。这个压缩包“fastjson解析json.rar”显然包含了使用Fastjson进行JSON解析的相关资源,包括fastjson的库文件、...
在描述中提到的"用于上个案例List,Object>>转换json的dome",这表明Fastjson可以处理复杂的数据结构,例如List集合中的Map对象。List, Object>>表示一个包含多个Map对象的列表,每个Map对象的键是String类型,值可以...
在Java世界里,处理JSON数据时我们通常会用到一些库,如Gson、FastJson和json-lib。这三个库都是为了方便JSON与Java对象之间的转换,使得数据的序列化和反序列化变得简单。 **Gson** 是Google开发的一个Java库,它...
这个过程通常从`JSON.parse()`或`JSON.parseObject()`开始,这两个方法会根据输入的字符串创建一个`JSONLexer`实例,它是FastJson的词法分析器,用于读取并解析JSON文本。 `JSONLexer`会逐字符地扫描JSON字符串,...
本文将深入探讨三种广泛使用的JSON解析库:原生的`json`库,阿里巴巴的`fastjson`,以及Google的`gson`。 ### 1. 原生`json`库 Android系统内建了一个简单的`org.json`库,提供基本的JSON操作。它包括`JSONObject`...
首先,需要将 fastJSON 组件添加到项目中,然后可以使用 fastJSON 的实例来序列化和反序列化数据。 ```csharp namespace test { class Program { static void Main(string[] args) { var zoo1 = new zoo(); ...
FastJson支持泛型、支持循环引用、支持各种Java集合类型等特性使其在处理JSON数据时显得非常方便。 2. Spring Boot与FastJson集成: 在Spring Boot项目中集成FastJson,首先需要添加FastJson的依赖到项目的pom.xml...
这个精简实例可能是为了演示如何在实际项目中使用Fastjson处理动态生成的JSON数据,从而提高开发效率和性能。它还可能涉及到错误处理、数据安全性和性能优化等更复杂的话题。总的来说,Fastjson是一个强大的工具,...
在Java开发中,我们经常需要处理JSON格式的数据,Fastjson因其简洁的API和出色的性能,成为许多开发者首选的JSON解析工具。下面,我们将详细探讨Fastjson的使用方法和特性。 1. **安装与引入** 要使用Fastjson,...
在Java开发中,处理JSON数据时,FastJson是一个高效且功能丰富的库,由阿里巴巴提供。FastJson支持JSON格式字符串、JSON对象(JSONObject)以及JavaBean之间的相互转换,使得数据处理变得简单。以下将详细解释这些...
本文案例代码中,首先创建了一个简单的User类,然后创建了User对象并设置了属性,接着使用JSON.toJSONString()方法将对象序列化为JSON字符串。最后,打印出序列化后的JSON字符串。 重点说明了工具类fastjson 是怎么...
描述中提到"用于提取json数据",这正是Fastjson的主要功能之一,即快速、便捷地处理JSON格式的数据。 JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...
在这个方法中,我们创建了一个`ObjectMapper`实例,它是Jackson库的核心类,用于进行JSON与Java对象之间的映射。`readValue`方法接受两个参数:一个是JSON文件的路径,另一个是目标类型,这里是`Map.class`。 现在...
在这个小例子中,我们将深入探讨FastJson的使用方法,以及它如何帮助开发者在Android开发中快速处理JSON数据。 在Android应用开发中,JSON是一种常见的数据交换格式,用于在服务器和客户端之间传递数据。FastJson以...
- 从字符串解析为Java对象:Fastjson提供`JSON.parseObject()`方法,可以将JSON字符串转换成Java对象,如Map、List或自定义类实例。 - 从JSON流解析:支持从InputStream、Reader等输入流解析JSON数据。 2. **...
在这个"JSON对象互转案例fastjson"中,主要涉及了两个关键的API:`JSON.stringify()`和`JSON.parseArray()`。这两个方法都是Fastjson提供的,用于处理JSON对象与Java对象之间的转换。 1. `JSON.stringify()`: 这个...
通过以上实例,你可以了解Fastjson的基本用法,包括对象、数组的转换,JSON字符串的解析与构建,以及JSONPath和JSON Schema的使用。在实际项目中,结合这些知识点,你可以灵活地处理JSON数据。记住,实践是最好的...
5. **类型转换**:Fastjson支持自动类型转换,比如将JSON字符串转换为自定义Java类的实例,简化了开发工作。 6. **依赖库**:Apache Commons Codec和Commons Logging是Fastjson的依赖库,它们为Fastjson提供额外的...