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":"李四"}

 

posted on 2021-05-24 20:49  jesse_zhao  阅读(2397)  评论(0编辑  收藏  举报

导航