首页 > 编程语言 >Maven工程下:alibaba fastjson2的各种序列化:java对象转json对象、json对象转java对象、json对象转字符串......

Maven工程下:alibaba fastjson2的各种序列化:java对象转json对象、json对象转java对象、json对象转字符串......

时间:2024-07-08 18:28:31浏览次数:13  
标签:java String UserVO 对象 private json println

pom文件导入fastjson2坐标:

 <dependency>
      <groupId>com.alibaba.fastjson2</groupId>
      <artifactId>fastjson2</artifactId>
      <version>2.0.51</version>
    </dependency>

UserVO对象:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserVO {
    private Long id;
    private String userName;
    private String name;
    private String token;
}

java对象转json对象:

 //对象
         UserVO userVO = new UserVO(1L,"UserVo","User","0");
         //userVo对象:UserVO(id=1, userName=UserVo, name=User, token=0)
        System.out.println(userVO);
        //java对象转Json
        String jsonUserVo = JSONObject.toJSONString(userVO);
        //{"id":1,"name":"User","token":"0","userName":"UserVo"}
        System.out.println(jsonUserVo);

json对象(json字符串)转java对象:

UserVO userVO1 = JSON.parseObject(JSONObject.toJSONString(userVO),UserVO.class);
        //或者
        //UserVO userVO1 = JSON.parseObject(jsonUserVo,UserVO.class);
        //UserVO(id=1, userName=UserVo, name=User, token=0)
        System.out.println(userVO1);

其他:

 //java对象转换成json格式的字节码
        byte[]bytes=JSON.toJSONBytes(userVO);
        //读取字节码
        String s = new String(bytes);
        //result:{"id":1,"name":"User","token":"0","userName":"UserVo"}
        System.out.println(s);

json文件方式+JSONPath:

   // json文件:
"MyCar":["AstonMartin","Audio","AUDIOYYDS","AUDIOYYDS2","BENZ","BENZE","BENZYYDS","BMW",
    "BMWYYDS","BYD"],



public void testByteJson(){
        try ( InputStream fp = new FileInputStream(InfoFiledConstant.JSON_SRC))
        {
            byte[] bytes = fp.readAllBytes();
//            JSONPath path = JSONPath.of("$.MyPhone");
            //组装访问的json路径(内容)path
            JSONPath path = JSONPath.of("$.MyPhone");
            //读取字节码成Json格式
            JSONReader parse = JSONReader.of(bytes);
            JSONArray extract =(JSONArray) path.extract(parse);
            //result:ASUS
            System.out.println(extract.get(2));
        }catch (Exception e){
            e.printStackTrace();
        }

    }

其他:

    static {
        try (InputStream is = new FileInputStream(InfoFiledConstant.JSON_SRC)) {
            byte[] b = is.readAllBytes();
            s = new String(b);
        } catch (Exception e) {
            System.out.println("ErrorJsonStringRead:" + e.getMessage());
        }
    }

    private static Random r = new Random();
    private static String s;

    private static String common(String infoConstant) {
        String key;
        JSONArray common = JSONArray.parse(JSONObject.parseObject(s).get(infoConstant).toString());
        key = (String) common.get(r.nextInt(common.size()));
        return key;
    }

标签:java,String,UserVO,对象,private,json,println
From: https://blog.csdn.net/m0_70630103/article/details/140271331

相关文章

  • java比较json对象是否相等
    一、需求需要对比这2个json字符串是否完全一样(不用管顺序)1Stringdui="{\"adGroupVO\":{\"campaignId\":\"CAMPAIGN201912101000004559\",\"adGroupChannel\":{\"channelType\":\"SMS\",\"resourceCode\&......
  • Java并发基础
    多线程的出现是要解决什么问题的?本质什么?CPU、内存、I/O设备的速度是有极大差异的,为了合理利用CPU的高性能,平衡这三者的速度差异,计算机体系结构、操作系统、编译程序都做出了贡献,主要体现为:CPU增加了缓存,以均衡与内存的速度差异;//导致可见性问题操作系统增加了进程......
  • 获取Echarts的geoJson文件(省市/区县)
    1.获取市的级别直接使用阿里云提供的工具直接获取: https://datav.aliyun.com/portal/school/atlas/area_selector#&lat=32.62087018318113&lng=118.43261718749999&zoom=4和 https://map.easyv.cloud/和 https://geojson.hxkj.vip/  2.获取县和区的细到街道的geoJson,需......
  • 如何优化Java中的文件读写性能?
    如何优化Java中的文件读写性能?大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!1.使用缓冲流提升文件读写效率1.1.使用BufferedInputStream和BufferedOutputStream在Java中,使用缓冲流可以显著提升文件读写的效率,尤其是对于大文件而言。以下是一个简单......
  • 使用Java构建可靠的分布式缓存系统
    使用Java构建可靠的分布式缓存系统大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!1.分布式缓存系统概述在现代软件架构中,分布式缓存系统扮演着至关重要的角色,它能够显著提升系统的性能和扩展性。本文将探讨如何使用Java构建一个可靠的分布式缓存系统,利......
  • 深入理解Java中的反射与动态代理
    深入理解Java中的反射与动态代理大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!1.反射介绍在Java编程中,反射(Reflection)是指在运行时动态获取类的信息并操作类或对象的能力。Java的反射机制允许程序在运行时获取类的信息(例如类的方法、字段、注解等),并且......
  • Java 如何在volatile内部调用接口
    在Java中,volatile关键字通常用于确保变量的可见性和有序性,而不是用来修饰接口或方法调用的。volatile修饰的变量会被立即同步到主存,并且在每次访问时都会从主存中重新读取,而不是从缓存中读取。这意味着对volatile变量的修改对所有线程都是可见的。然而,我们的需求似乎是在一个被......
  • java实现excel导出和导入
    1.固定化模板导入导出/***注意:需要指定列宽*@createTime2022/4/2216:59*@param:filename文件名*@param:columnList列名别名宽度*@param:orderList数据源*示例*ArrayList<String[]>columnList=newArrayList<String[]>(){{*add(n......
  • Java计算机毕业设计基于的健身俱乐部管理系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着健康意识的普及和生活水平的提高,健身已成为现代人追求健康生活方式的重要组成部分。健身俱乐部作为提供专业健身服务和指导的场所,其管理效率和服......
  • Java计算机毕业设计水果销售平台的设计与实现(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着人们生活水平的提高和健康意识的增强,水果作为富含营养、美味可口的天然食品,其市场需求日益增长。然而,传统水果销售模式存在信息不对称、供应链冗......