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":"李四"}
  • 相关阅读:
    vue 无缝无限滚动横条实现
    小程序 recycle-view 个人demo
    js 笔记
    java整理的一些面试资料
    使用js获取浏览器地址栏里的参数
    java面试题
    sql中索引不会被用到的几种情况
    常用linux命令
    shiro登录成功之后跳转原路径
    springboot 整合 mongodb实现 批量更新数据
  • 原文地址:https://www.cnblogs.com/jesse-zhao/p/14806138.html
Copyright © 2011-2022 走看看