`
bugyun
  • 浏览: 559476 次
社区版块
存档分类
最新评论

fastjson 框架JSON、List、Map直接相互转换

    博客分类:
  • json
 
阅读更多

 

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>

 

分享到:
评论

相关推荐

    fastjson+json jar包

    在描述中提到的"用于上个案例List&lt;Map,Object&gt;&gt;转换json的dome",这表明Fastjson可以处理复杂的数据结构,例如List集合中的Map对象。List&lt;Map, Object&gt;&gt;表示一个包含多个Map对象的列表,每个Map对象的键是String类型...

    Java读取json文件,并转化为map取值

    如果JSON包含嵌套的对象或数组,它们会被转换为`Map`或`List`。 对于Map取值,你可以使用`get`方法: ```java String key = "exampleKey"; Object value = jsonData.get(key); ``` 如果值是另一个JSON对象或数组...

    通过fastjson实现各种格式与json之间的转换

    通过fastjson实现了JavaBean,list,MAP,list等格式与json格式之间的转换,已经附带fastjson的包,包的版本为fastjson-1.1.36.jar

    SpringBoot中使用FastJson解析Json数据示例代码

    以下是一个简单的例子,展示如何使用FastJson将Java对象转换为JSON字符串,以及将JSON字符串反序列化为Java对象: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import ...

    List转换为List

    本知识点重点讲解将List转换为List&lt;Map&gt;的过程,这在进行Web开发、数据处理以及与前端交互等场景中非常常见。同时,也会涉及List转换为List及list转换为JsonArray的内容。 ### List转换为List&lt;Map&gt; 在Java中,Bean...

    json处理类fastjson-1.2.2.jar

    1. JSON字符串到Java对象的转换:Fastjson提供了`parseObject()`方法,可以将JSON字符串转化为对应的Java对象,如Map、List或自定义类型。例如: ```java String jsonString = "{\"name\":\"John\", \"age\":30}";...

    fastjson Json解析

    Fastjson是阿里巴巴开源的一款高性能的Java JSON库,它提供了非常快速的JSON到Java对象以及Java对象到JSON字符串的转换能力。在处理JSON数据时,Fastjson因其简单易用、性能优异而备受开发者喜爱。在本文中,我们将...

    Volley。fastJson解析网络Json ,多线程显示图片,简单缓存图片,万能适配器,完美解决图片排序混乱问题,完美解决图片多次加载问题

    FastJson的使用非常简单,只需要创建一个`JsonParser`对象,然后调用`parse()`方法即可将JSON字符串转化为Java对象,如`Map`或`List`。这使得在Android应用中处理网络返回的数据变得容易。 接着,我们来看看如何在...

    fastjson生成json时Null属性不显示的解决方法

    在JSON序列化过程中,有时我们需要将Java对象转换成JSON字符串,Fastjson是一个高效且功能丰富的JSON库,由阿里巴巴开发并维护。然而,默认情况下,当Java对象中的某个属性值为`null`时,Fastjson在生成JSON字符串时...

    jackson json 转 map 数值科学计数法的问题解决.docx

    Jackson 是一个流行的 Java 库,用于将 JSON 数据转换为 Java 对象或 Map。在使用 Jackson 将 JSON 转换为 Map 的过程中,可能会遇到科学计数法的问题。该问题的出现是因为 JSON 中的数值类型太多,在转换过程中可能...

    FastJson Json解析利器

    4. **强大的映射机制**:FastJson支持Java Bean、Map、List等多种数据结构与JSON之间的映射,无需额外的配置,大大提高了开发效率。 5. **流式处理**:对于大数据量的JSON,FastJson提供流式处理API,可以有效地减少...

    json转为list 涉及 java springboot

    在 Java 中,我们可以使用各种库和框架来将 JSON 转换为 List。其中,常用的库包括 Jackson、Gson 和 Fastjson 等。下面,我们将使用 Jackson 库来将 JSON 转换为 List。 首先,我们需要添加 Jackson 库的依赖项到...

    FastJsonJar包解压缩直接使用

    2. **简单易用**:FastJson的API设计简洁,提供了如`parse()`和`toJson()`等直接操作的方法,使得开发者可以快速上手。 3. **强大的类型支持**:FastJson支持多种Java类型,包括基本类型、集合、Map、自定义类等,...

    fastjson该包实现了部分JSON的快速提取

    它能够直接将Java对象转换为JSON字符串,也可以将JSON内容解析为对应的Java对象,这种对象与JSON之间的转换方式被称为序列化和反序列化。 二、主要特性 1. **高性能**:Fastjson在性能上表现优秀,解析和生成速度...

    java对象List,Map转json格式

    本篇文章将深入探讨如何将Java中的List和Map对象转化为JSON格式,并涉及与AJAX交互的相关知识。 1. **Java JSON库**: 在Java中,我们可以使用多种库来实现对象到JSON的转换,如Jackson、Gson、Fastjson等。这里以...

    java使用FastJson解析Json数据

    在实际应用中,FastJson可以用来将复杂的Java对象转换成JSON格式的字符串,或者将JSON格式的字符串转换成相应的Java对象。这种转换能力是非常强大的,因为它允许开发者在Java后端与各种前端框架之间进行灵活的数据...

    JAVA json 与java类相互转化 所有jar包

    以下是对JSON与Java类相互转化的详细讲解: 1. **Jackson库**: Jackson是Java中非常流行的JSON处理库,由 FasterXML 维护。它提供了`ObjectMapper`类来实现Java对象到JSON和JSON到Java对象的转换。 - **对象转...

    json解析服务器端源码

    在这个“json解析服务器端源码”中,我们将深入探讨如何在服务器端利用Java进行JSON解析,包括对象类型、List包裹对象类型、List包裹String类型以及List包裹Map类型的数据转换。 首先,我们来关注对象类型的JSON...

    fastJsonDemo

    FastJson还支持将Java对象直接序列化为JSON字符串: ```java String jsonString = JSON.toJSONString(person); ``` **FastJson的性能优势** FastJson以其高效性能著称,它的设计目标是在解析速度和内存占用上超越...

    fastjson 常用 总结

    Fastjson是阿里巴巴开发的一款高性能的Java JSON库,它能够实现Java对象与JSON数据之间的快速转换。这个库在处理大量JSON数据时,表现出优秀的性能和易用性,因此在很多Java项目中被广泛应用。以下是对Fastjson常用...

Global site tag (gtag.js) - Google Analytics