FastJson简明上手教程~

FastJson简明上手教程~,第1张

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"}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5695140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存