zoukankan      html  css  js  c++  java
  • fastjson将java对象与json字符串相互转换

    1、pom.xml文件添加依赖

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.62</version>
    </dependency>

    2、将对象转为json格式的字符串

    注意:JSONobject.toJSONString(object xx) 将对象转为json格式的字符串,使用fastjson序列化对象时,在序列化的时候,fastjson会先利用反射找到对象类的所有get方法,接下来去掉get前缀,然后首字母小写,作为json的每个key值,而get方法的返回值作为value。添加到json中。

    所以我们需要设置对象的set get方法

    错误代码:

    package com.testdemo;
    
    import com.alibaba.fastjson.JSONObject;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    
    public class FastJson1 {
        public static void main(String[] args) {
    
            Teacher t2 =new Teacher(20,"李四");
         //将对象转为json字符串
            System.out.println(JSONObject.toJSONString(t2));    
        }
    }
    
    
    
    @AllArgsConstructor
    @NoArgsConstructor
    class Teacher{
        
        //年龄+姓名
        int age;
        String name;
    }
    
    ===结果===
    {}

    正确代码:

    通过@Data注解自动实现set get方法

    public class FastJson1 {
        public static void main(String[] args) {
    
            Teacher t2 =new Teacher(20,"李四");
            System.out.println(JSONObject.toJSONString(t2));
    
        }
    }
    
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    class Teacher{
    
        //年龄+姓名
        int age;
        String name;
    }
    
    ==结果===
    {"age":20,"name":"李四"}
  • 相关阅读:
    Java从指定目录下加载class文件
    超市问题
    SpringBoot中的thymeleaf布局
    SpringBoot 异步支持
    Groovy 脚本引发的 Old GC问题
    Java8 新特性笔记
    MySQL字段默认值踩坑记录
    SpringMVC接收Postman post json数据
    如何实现远程办公安全
    打印机打印的文档或图像出现白色横纹如何解决?
  • 原文地址:https://www.cnblogs.com/jesse-zhao/p/14806138.html
Copyright © 2011-2022 走看看