三种方式实现Java对象转json下划线格式
定义对象
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Order {private String orderNo;private Long productId;private String productName;private BigDecimal price;private Integer quantity;private Boolean isPay;
}
测试类
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.PropertyNamingStrategy;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;import java.math.BigDecimal;/*** @author 向振华* @date 2022/03/28 15:42*/
public class Test {public static void main(String[] args) throws JsonProcessingException {Order order = new Order();order.setProductId(6L);order.setProductName("衣服");order.setPrice(new BigDecimal("99.8"));order.setQuantity(2);order.setIsPay(false);// 方式一:使用fastjsonSerializeConfig config = new SerializeConfig();config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;String json1 = JSON.toJSONString(order, config);System.out.println(json1);// 方式二:使用GsonGsonBuilder gsonBuilder = new GsonBuilder();gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);Gson gson = gsonBuilder.create();String json2 = gson.toJson(order);System.out.println(json2);// 方式三:使用JacksonObjectMapper mapper = new ObjectMapper();mapper.setPropertyNamingStrategy(com.fasterxml.jackson.databind.PropertyNamingStrategy.SNAKE_CASE);String json3 = mapper.writeValueAsString(order);System.out.println(json3);}
}
输出结果略有不同:
{"is_pay":false,"price":99.8,"product_id":6,"product_name":"衣服","quantity":2}
{"product_id":6,"product_name":"衣服","price":99.8,"quantity":2,"is_pay":false}
{"order_no":null,"product_id":6,"product_name":"衣服","price":99.8,"quantity":2,"is_pay":false}
三种方式实现Java对象转json下划线格式相关推荐
- 把对象的创建交给spring来管理—— 1.创建bean的三种方式 2.bean对象的作用范围 3.bean对象的生命周期
把对象的创建交给spring来管理 spring对bean的管理细节 1.创建bean的三种方式 2.bean对象的作用范围 3.bean对象的生命周期 创建Bean的三种方式 ...
- 读取Java文件到byte数组的三种方式及Java文件操作大全(包括文件加密,String加密)
读取Java文件到byte数组的三种方式 package zs;import java.io.BufferedInputStream; import java.io.ByteArrayOutputSt ...
- java对象转json字符串日期格式_Gson转Json字符串时将日期类型转换成Long型的方法...
有些特定需求, 比如说搜索引擎, 很多人都要求时间必须是时间戳. 所以, 我们把时间转成最原始的Long型. Gson默认的是不支持的, 需要手动处理一下. 日期转Long public class ...
- Golang中import 导入包的几种方式:点,别名与下划线
在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import (// 多个"google.golang.org/grpc""imcs/ ...
- java对象转json字符串日期格式_fastJSON字符串类型数据中的日期转换为Java bean的日期对象...
fastJSON字符串类型数据中的日期转换为Java bean的日期对象 Person.java import java.io.Serializable; import java.util.Date; ...
- Java:简述对象转换为字符串的三种方式
Java:简述对象转换为字符串的三种方式 在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结. 一.(String)强制类型转换 使用 ...
- kubectl命令管理kubernetes对象的三种方式
kubenetes的抽象概念,如Pod.Service.Volume.Namespace.ReplicaSet.Deployment.StatefulSet.DaemonSet.Job等统称对象,ku ...
- 获取Class对象的三种方式
获取Class对象的三种方式 Object --> getClass() 通过对象.getclass 任何数据类型(包括基本数据类型)都有一个"静态"的class属性 通过类 ...
- ES6 中三种方式定义对象属性
ES6 中三种方式定义对象属性 重复样本代码让开发者很不爽,代码混乱掩盖了重要业务代码.ES6关注并解决一些重复的代码方式,使代码简洁.逻辑清晰,如数组解构.对象解构.箭头函数等.本文我们主要介绍利用 ...
- java获取时间戳的三种方式比较
文章目录 java获取时间戳的三种方式比较 java获取时间戳的三种方式比较 import java.util.Calendar; import java.util.Date; //不再推荐使用Dat ...
最新文章
- C++中.lib静态库、.dll动态库的生成及调用1
- gta5结局杀老崔我哭了_都已经2020年了,怎么还有人在买GTA5?
- 天天生鲜的用户登录机制和redis的作用
- 浅谈XSS攻击的那些事(附常用绕过姿势)
- 字符串的连接最长路径查找
- thinkPhp5.1配置常量与输出
- 经典排序算法(二十一)--Cycle Sort
- 全国主要省会城市和地区手机离线地图数据文件下载地址
- Mac动态桌面壁纸Dynamic Wallpaper惊艳你的桌面
- 详述快捷支付产品功能及设计要点
- CSS 3 五光十色的变色龙动画的制作
- 当黑客被抓是种怎样的体验?
- 统计推断-经典统计推断
- 使用cmd命令清空windows中C盘的所有临时文件
- 傅里叶变换和小波变换:时间序列异常检测
- JAVA学习记录day07
- 基于SpringBoot + Vue的个人博客系统12——使用vue-admin-template展示文章列表(后台管理)
- 中国招聘网站调研报告
- ISO26262 功能安全各个阶段测试要求
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果