栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

FastJson简明上手教程~

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

FastJson简明上手教程~

简单介绍下~

FastJson是阿里开源的JSON解析库,它可以解析JSON格式的字符串,支持将JAVA Bean序列化JSON字符串,也可以从JSON字符串反序列化到JavaBean。相比其他JSON库而言,FastJson的性能还是不错的,目前在日常开发中使用也非常广泛,且上手也非常简单,支持的功能也非常完备,比如支持泛型、支持流处理超大文本、支持枚举、支持序列化和反序列化扩展。

前戏很重要!
  • 引入FastJson依赖

    
         com.alibaba
         fastjson
         1.2.78
    
    
  • 创建User类

    // lombok
    @Data
    public class User {
    
        private Long id;
    
        private String username;
    
        private String password;
    
        private Integer sex;
        
        private Integer age;
    
        private String autograph;
    
        private Integer status;
    
        private Date updateTime;
    
        private Date createTime;
    }
    
简单举几个常用例子~ 1. Java对象转Json
  • 造点数据
package cn.msjava.coding;

import cn.msjava.coding.eneity.User;
import com.alibaba.fastjson.JSON;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


public class Main {

    public static void main(String[] args) {

        User user = new User();
        user.setId(1L);
        user.setUsername("admin");
        user.setPassword("admin");
        user.setSex(1);
        user.setAge(18);
        user.setAutograph("风往哪儿吹,不要问跟风的人~");
        user.setCreateTime(new Date());
        user.setUpdateTime(new Date());

        String userJson = JSON.toJSONString(user);
        System.out.println(userJson);
    }
}

  • 转换结果
{
	"age": 18,
	"autograph": "风往哪儿吹,不要问跟风的人~",
	"createTime": 1641135506750,
	"id": 1,
	"password": "admin",
	"sex": 1,
	"updateTime": 1641135506750,
	"username": "admin"
}
2. List集合转Json
  • 造点数据
package cn.msjava.coding;

import cn.msjava.coding.eneity.User;
import com.alibaba.fastjson.JSON;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


public class Main {

    public static void main(String[] args) {

        User user = new User();
        user.setId(1L);
        user.setUsername("admin");
        user.setPassword("admin");
        user.setSex(1);
        user.setAge(18);
        user.setAutograph("风往哪儿吹,不要问跟风的人~");
        user.setCreateTime(new Date());
        user.setUpdateTime(new Date());


        User user1 = new User();
        user1.setId(1L);
        user1.setUsername("admin1");
        user1.setPassword("admin1");
        user1.setSex(0);
        user1.setAge(18);
        user1.setAutograph("祖国必然统一~");
        user1.setCreateTime(new Date());
        user1.setUpdateTime(new Date());


        List userList = new ArrayList();
        userList.add(user);
        userList.add(user1);

        String userListJson = JSON.toJSONString(userList);
        System.out.println(userListJson);

    }

}

  • 转换结果
[
  {
	"age": 18,
	"autograph": "风往哪儿吹,不要问跟风的人~",
	"createTime": 1641135971494,
	"id": 1,
	"password": "admin",
	"sex": 1,
	"updateTime": 1641135971494,
	"username": "admin"
  },
  {
	"age": 18,
	"autograph": "祖国必然统一~",
	"createTime": 1641135971494,
	"id": 1,
	"password": "admin1",
	"sex": 0,
	"updateTime": 1641135971494,
	"username": "admin1"
}]
3. Map集合转Json
  • 造点数据
package cn.msjava.coding;

import cn.msjava.coding.eneity.User;
import com.alibaba.fastjson.JSON;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;


public class Main {

    public static void main(String[] args) {

        User user = new User();
        user.setId(1L);
        user.setUsername("admin");
        user.setPassword("admin");
        user.setSex(1);
        user.setAge(18);
        user.setAutograph("风往哪儿吹,不要问跟风的人~");
        user.setCreateTime(new Date());
        user.setUpdateTime(new Date());
        User user1 = new User();
        user1.setId(1L);
        user1.setUsername("admin1");
        user1.setPassword("admin1");
        user1.setSex(0);
        user1.setAge(18);
        user1.setAutograph("祖国必然统一~");
        user1.setCreateTime(new Date());
        user1.setUpdateTime(new Date());

        HashMap userMap = new HashMap();
        userMap.put("user",user);
        userMap.put("user1",user1);

        String userMapJson = JSON.toJSONString(userMap);
        System.out.println(userMapJson);
    }
}
  • 转换结果
{
	"user1": {
		"age": 18,
		"autograph": "祖国必然统一~",
		"createTime": 1641173214065,
		"id": 1,
		"password": "admin1",
		"sex": 0,
		"updateTime": 1641173214065,
		"username": "admin1"
	},
	"user": {
		"age": 18,
		"autograph": "风往哪儿吹,不要问跟风的人~",
		"createTime": 1641173214065,
		"id": 1,
		"password": "admin",
		"sex": 1,
		"updateTime": 1641173214065,
		"username": "admin"
	}
}
4. Json转Java对象
  • 造点数据
package cn.msjava.coding;

import cn.msjava.coding.eneity.User;
import com.alibaba.fastjson.JSON;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;


public class Main {

    public static void main(String[] args) {
          String userJson="{n" +
                  "t"age": 18,n" +
                  "t"autograph": "风往哪儿吹,不要问跟风的人~",n" +
                  "t"createTime": 1641135506750,n" +
                  "t"id": 1,n" +
                  "t"password": "admin",n" +
                  "t"sex": 1,n" +
                  "t"updateTime": 1641135506750,n" +
                  "t"username": "admin"n" +
                  "}";

        User user = JSON.parseObject(userJson, User.class);
        System.out.println(user.toString());
    }
}

  • 转换结果
User(id=1, username=admin, password=admin, sex=1, age=18, autograph=风往哪儿吹,不要问跟风的人~, status=null, updateTime=Sun Jan 02 22:58:26 CST 2022, createTime=Sun Jan 02 22:58:26 CST 2022)
5. Json转List集合
  • 造点数据
package cn.msjava.coding;

import cn.msjava.coding.eneity.User;
import com.alibaba.fastjson.JSON;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;


public class Main {

    public static void main(String[] args) {
          String userListJson="[n" +
                  "  {n" +
                  "t"age": 18,n" +
                  "t"autograph": "风往哪儿吹,不要问跟风的人~",n" +
                  "t"createTime": 1641135971494,n" +
                  "t"id": 1,n" +
                  "t"password": "admin",n" +
                  "t"sex": 1,n" +
                  "t"updateTime": 1641135971494,n" +
                  "t"username": "admin"n" +
                  "  },n" +
                  "  {n" +
                  "t"age": 18,n" +
                  "t"autograph": "祖国必然统一~",n" +
                  "t"createTime": 1641135971494,n" +
                  "t"id": 1,n" +
                  "t"password": "admin1",n" +
                  "t"sex": 0,n" +
                  "t"updateTime": 1641135971494,n" +
                  "t"username": "admin1"n" +
                  "}]";

        List userList = JSON.parseArray(userListJson, User.class);
        userList.forEach(x->{
            System.out.println(x);
        });
    }
}
  • 转换结果
User(id=1, username=admin, password=admin, sex=1, age=18, autograph=风往哪儿吹,不要问跟风的人~, status=null, updateTime=Sun Jan 02 23:06:11 CST 2022, createTime=Sun Jan 02 23:06:11 CST 2022)
User(id=1, username=admin1, password=admin1, sex=0, age=18, autograph=祖国必然统一~, status=null, updateTime=Sun Jan 02 23:06:11 CST 2022, createTime=Sun Jan 02 23:06:11 CST 2022)
6. Json转Map集合
  • 造点数据
package cn.msjava.coding;

import cn.msjava.coding.eneity.User;
import com.alibaba.fastjson.JSONObject;
import java.util.*;


public class Main {

    public static void main(String[] args) {
        String userJson = "{n" +
                "t"user1": {n" +
                "tt"age": 18,n" +
                "tt"autograph": "祖国必然统一~",n" +
                "tt"createTime": 1641173214065,n" +
                "tt"id": 1,n" +
                "tt"password": "admin1",n" +
                "tt"sex": 0,n" +
                "tt"updateTime": 1641173214065,n" +
                "tt"username": "admin1"n" +
                "t},n" +
                "t"user": {n" +
                "tt"age": 18,n" +
                "tt"autograph": "风往哪儿吹,不要问跟风的人~",n" +
                "tt"createTime": 1641173214065,n" +
                "tt"id": 1,n" +
                "tt"password": "admin",n" +
                "tt"sex": 1,n" +
                "tt"updateTime": 1641173214065,n" +
                "tt"username": "admin"n" +
                "t}n" +
                "}";

        Map userMap = (Map)JSONObject.parse(userJson);

        for (Map.Entry entry: userMap.entrySet()){
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        }

    }
}
  • 转换结果
user1
{"password":"admin1","createTime":1641173214065,"sex":0,"autograph":"祖国必然统一~","updateTime":1641173214065,"id":1,"age":18,"username":"admin1"}
user
{"password":"admin","createTime":1641173214065,"sex":1,"autograph":"风往哪儿吹,不要问跟风的人~","updateTime":1641173214065,"id":1,"age":18,"username":"admin"}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/694675.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号