fastjson与list\map\object\date互转

  • pom.xml
<!--创建springboot项目-->       
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.80</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

  • Object与Json互转

    package com.my.pojo;
    ​
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    ​
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class User {
        private String name;
        private String password;
        private int age;
    }
    ​
    @RestController
    public class FastJson_01 {
        @RequestMapping("/parse")
        public String parseObj(){
            User user3=new User();
            user3.setName("王五");
            user3.setAge(13);
            user3.setPassword("1232we");
    ​
            String json=JSON.toJSONString(user3);
            User user=JSON.parseObject(json,User.class);
    ​
            System.out.println(user);
            return user.toString();
        }
    }

     

     

    • User类

    • controller层,创建一个FastJson_01类,并创建测试方法

    • 效果图:

    • JSON.toJSONString-->转化为json字符串

    • JSON.parseObject-->转化为java对象

  • List与Json互转

    • 在FastJson_01类,创建方法

    public static List<User> users(){
            List<User> users=new ArrayList<>();
            User user1=new User();
            user1.setName("张三");
            user1.setAge(19);
            user1.setPassword("123456");
            users.add(user1);
    ​
            User user2=new User();
            user2.setName("王二");
            user2.setAge(13);
            user2.setPassword("1aa4we");
            users.add(user2);
    ​
            User user3=new User();
            user3.setName("王五");
            user3.setAge(13);
            user3.setPassword("1232we");
            users.add(user3);
    ​
            User user4=new User();
            user4.setName("无意");
            user4.setAge(13);
            user4.setPassword("1234we");
            users.add(user4);
            return users;
        }
    public static String objectToJson(){
            List<User> list=FastJson_01.users();
            //将对象转化为json
            String jsonStr= JSON.toJSONString(list);
            return jsonStr;
        }
    • 在FastJson_01类,创建测试方法

     @RequestMapping("/json1")
        public String objectToJson1(){
            List<User> list=FastJson_01.users();
            //将对象转化为json
            String jsonStr= JSON.toJSONString(list);
            return jsonStr;
        }
      @RequestMapping("/json2")
        public List<User> JsonToObject(){
            String str=FastJson_01.objectToJson();
            List<User> users=JSON.parseArray(str,User.class);
            for (User user:users) {
                System.out.println(user.getName());
            }
            return users;
        }
    • 效果图:

     

      

    • JSON.parseArray转化为数组

  • date与json转化

    • 在FastJson_01类,创建测试方法

       @RequestMapping("/date")
        public String dateToJson(){
            Date date=new Date();
            String str=JSON.toJSONStringWithDateFormat(date,"yyyy-MM-dd");
            System.out.println(str);
            return str;
        }
      @RequestMapping("/date1")
        public Date jsonToDate(){
            String string = "2014-3-17";
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date date = null;
            try {
                date = dateFormat.parse(string);
                System.out.println(date.toLocaleString().split(" ")[0]);//切割掉不要的时分秒数据
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return date;
        }
    • 效果图:

     

     

     

    • JSON.toJSONStringWithDateFormat,将时间转化为字符串

  • map与json互转

    • 在FastJson_01类,创建测试方法

     @RequestMapping("/map")
        public String mapToJson(){
            Map<Integer,String> map=new HashMap<>();
            map.put(2,"nini");
            map.put(3,"lplp");
            map.put(4,"huhu");
            String str=JSON.toJSONString(map);
            System.out.println(str);
    ​
            Map<Integer,String> o=(Map<Integer,String>)JSON.parse(str);
            for (String sr:o.values()) {
                System.out.println(sr);
            }
            return str;
        }
    • 效果图:

       

       

    • (Map<Integer,String>)JSON.parse(str),将字符转化后强转。

    • 总结fastjson常用一些方法:

    public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
    public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
    public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean 
    public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
    public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 
    public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
    public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
    public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我愿为一粒沙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值