App.java
package com.bugyun.fastjson; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.bugyun.fastjson.po.Group; import com.bugyun.fastjson.po.User; /** * * 项目名称:fastjson 1.2.31 * 类名称:App.java * 类描述: * 1. JSON.toJSONString() 转换为String * 2. JSON.parseObject(userArr, new TypeReference<T>() {}); 转换为对象 * 3. JSON.parseArray(userArr,T.class); 转换为T的集合; * 创建人:beyond * 创建时间:2017年4月26日 下午5:43:43 * 修改人: * 修改时间: * 修改备注: * @version */ public class App { public static void main(String[] args) { Group group = new Group(); group.setId(0L); group.setName("admin"); User guestUser = new User(); guestUser.setId(2L); guestUser.setName("guest"); User rootUser = new User(); rootUser.setId(3L); rootUser.setName("root"); group.addUser(guestUser); group.addUser(rootUser); String groupJson = objectCastToString(group); System.out.println("objectCastToString: "+groupJson); String userArr = "[{\"id\":2,\"name\":\"guest\"},{\"id\":3,\"name\":\"root\"}]"; List<User> listOne = castToPOListOne(userArr); for (User user : listOne) { System.err.println(" one: "+user); } List<User> Two = castToPOListTwo(userArr); for (User user : Two) { System.out.println(" two: "+user); } group = castToPO(groupJson); System.err.println("castToPO: "+group); String dateTime =dateCastToString(new Date(), "yyyy-MM-dd HH:mm:ss"); System.out.println("dateCastToString: "+dateTime); Map<String,Object> map = new HashMap<String, Object>(); map.put("name", "hello"); map.put("age", "11"); String mapStr = mapCastToString(map); System.err.println("mapCastToString: "+mapStr); map = castToMap(mapStr); System.out.println("castToMap: "+map); List<User> users = new ArrayList<>(); users.add(rootUser); users.add(guestUser); String listStr = listCastToString(users); System.out.println("listCastToString: "+listStr); } /** * userArr 转换为 user列表 * @param userArr user对象拼接的数组 * @return * @author beyond * @data:2017年4月26日下午5:26:19 */ static List<User> castToPOListOne(String userArr) { List<User> list = JSON.parseObject(userArr, new TypeReference<List<User>>() { }); return list; } static List<User> castToPOListTwo(String userArr) { List<User> list = JSON.parseArray(userArr,User.class); return list; } static Map<String,Object> castToMap(String mapStr) { Map<String,Object> map = JSON.parseObject(mapStr,new TypeReference<Map<String,Object>>(){}); return map; } /** * Group JSON 转换为 Group 对象 * @param groupJson * @return * @author beyond * @data:2017年4月26日下午5:25:49 */ static Group castToPO(String groupJson) { Group group = JSON.parseObject(groupJson, Group.class); return group; } /** * 日期转换为指定时间格式 * @param date * @param pattern * @return * @author beyond * @data:2017年4月26日下午5:33:20 */ static String dateCastToString(Date date , String pattern) { String dateTime = JSON.toJSONStringWithDateFormat(date, pattern); return dateTime; } /** * Group 对象转换为 String * @return * @author beyond * @data:2017年4月26日下午5:27:04 */ static String objectCastToString(Group group) { String jsonString = JSON.toJSONString(group); return jsonString; } /** * map 转为String * @param map * @return * @author beyond * @data:2017年4月26日下午5:50:53 */ static String mapCastToString(Map<String,Object> map) { String str = JSON.toJSONString(map); return str; } /** * list 转 String * @param users * @return * @author beyond * @data:2017年4月26日下午5:51:12 */ static String listCastToString(List<User> users) { String str = JSON.toJSONString(users); return str; } }
User:
package com.bugyun.fastjson.po; public class User { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User [id=" + id + ", name=" + name + "]"; } }
Group.java
package com.bugyun.fastjson.po; import java.util.ArrayList; import java.util.List; public class Group { private Long id; private String name; private List<User> users = new ArrayList<User>(); public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } public void addUser(User user) { users.add(user); } @Override public String toString() { return "Group [id=" + id + ", name=" + name + ", users=" + users + "]"; } }
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.bugyun</groupId> <artifactId>fastjson</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>fastjson</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.31</version> </dependency> </dependencies> <build> <!-- jar 包名称 --> <finalName>bugyunFastjson</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
相关推荐
在描述中提到的"用于上个案例List<Map,Object>>转换json的dome",这表明Fastjson可以处理复杂的数据结构,例如List集合中的Map对象。List<Map, Object>>表示一个包含多个Map对象的列表,每个Map对象的键是String类型...
如果JSON包含嵌套的对象或数组,它们会被转换为`Map`或`List`。 对于Map取值,你可以使用`get`方法: ```java String key = "exampleKey"; Object value = jsonData.get(key); ``` 如果值是另一个JSON对象或数组...
通过fastjson实现了JavaBean,list,MAP,list等格式与json格式之间的转换,已经附带fastjson的包,包的版本为fastjson-1.1.36.jar
以下是一个简单的例子,展示如何使用FastJson将Java对象转换为JSON字符串,以及将JSON字符串反序列化为Java对象: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import ...
本知识点重点讲解将List转换为List<Map>的过程,这在进行Web开发、数据处理以及与前端交互等场景中非常常见。同时,也会涉及List转换为List及list转换为JsonArray的内容。 ### List转换为List<Map> 在Java中,Bean...
1. JSON字符串到Java对象的转换:Fastjson提供了`parseObject()`方法,可以将JSON字符串转化为对应的Java对象,如Map、List或自定义类型。例如: ```java String jsonString = "{\"name\":\"John\", \"age\":30}";...
Fastjson是阿里巴巴开源的一款高性能的Java JSON库,它提供了非常快速的JSON到Java对象以及Java对象到JSON字符串的转换能力。在处理JSON数据时,Fastjson因其简单易用、性能优异而备受开发者喜爱。在本文中,我们将...
FastJson的使用非常简单,只需要创建一个`JsonParser`对象,然后调用`parse()`方法即可将JSON字符串转化为Java对象,如`Map`或`List`。这使得在Android应用中处理网络返回的数据变得容易。 接着,我们来看看如何在...
在JSON序列化过程中,有时我们需要将Java对象转换成JSON字符串,Fastjson是一个高效且功能丰富的JSON库,由阿里巴巴开发并维护。然而,默认情况下,当Java对象中的某个属性值为`null`时,Fastjson在生成JSON字符串时...
Jackson 是一个流行的 Java 库,用于将 JSON 数据转换为 Java 对象或 Map。在使用 Jackson 将 JSON 转换为 Map 的过程中,可能会遇到科学计数法的问题。该问题的出现是因为 JSON 中的数值类型太多,在转换过程中可能...
4. **强大的映射机制**:FastJson支持Java Bean、Map、List等多种数据结构与JSON之间的映射,无需额外的配置,大大提高了开发效率。 5. **流式处理**:对于大数据量的JSON,FastJson提供流式处理API,可以有效地减少...
在 Java 中,我们可以使用各种库和框架来将 JSON 转换为 List。其中,常用的库包括 Jackson、Gson 和 Fastjson 等。下面,我们将使用 Jackson 库来将 JSON 转换为 List。 首先,我们需要添加 Jackson 库的依赖项到...
2. **简单易用**:FastJson的API设计简洁,提供了如`parse()`和`toJson()`等直接操作的方法,使得开发者可以快速上手。 3. **强大的类型支持**:FastJson支持多种Java类型,包括基本类型、集合、Map、自定义类等,...
它能够直接将Java对象转换为JSON字符串,也可以将JSON内容解析为对应的Java对象,这种对象与JSON之间的转换方式被称为序列化和反序列化。 二、主要特性 1. **高性能**:Fastjson在性能上表现优秀,解析和生成速度...
本篇文章将深入探讨如何将Java中的List和Map对象转化为JSON格式,并涉及与AJAX交互的相关知识。 1. **Java JSON库**: 在Java中,我们可以使用多种库来实现对象到JSON的转换,如Jackson、Gson、Fastjson等。这里以...
在实际应用中,FastJson可以用来将复杂的Java对象转换成JSON格式的字符串,或者将JSON格式的字符串转换成相应的Java对象。这种转换能力是非常强大的,因为它允许开发者在Java后端与各种前端框架之间进行灵活的数据...
以下是对JSON与Java类相互转化的详细讲解: 1. **Jackson库**: Jackson是Java中非常流行的JSON处理库,由 FasterXML 维护。它提供了`ObjectMapper`类来实现Java对象到JSON和JSON到Java对象的转换。 - **对象转...
在这个“json解析服务器端源码”中,我们将深入探讨如何在服务器端利用Java进行JSON解析,包括对象类型、List包裹对象类型、List包裹String类型以及List包裹Map类型的数据转换。 首先,我们来关注对象类型的JSON...
FastJson还支持将Java对象直接序列化为JSON字符串: ```java String jsonString = JSON.toJSONString(person); ``` **FastJson的性能优势** FastJson以其高效性能著称,它的设计目标是在解析速度和内存占用上超越...
Fastjson是阿里巴巴开发的一款高性能的Java JSON库,它能够实现Java对象与JSON数据之间的快速转换。这个库在处理大量JSON数据时,表现出优秀的性能和易用性,因此在很多Java项目中被广泛应用。以下是对Fastjson常用...