定义对象

@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下划线格式相关推荐

  1. 把对象的创建交给spring来管理——  1.创建bean的三种方式     2.bean对象的作用范围     3.bean对象的生命周期

    把对象的创建交给spring来管理 spring对bean的管理细节     1.创建bean的三种方式     2.bean对象的作用范围     3.bean对象的生命周期 创建Bean的三种方式 ...

  2. 读取Java文件到byte数组的三种方式及Java文件操作大全(包括文件加密,String加密)

    读取Java文件到byte数组的三种方式 package zs;import java.io.BufferedInputStream; import java.io.ByteArrayOutputSt ...

  3. java对象转json字符串日期格式_Gson转Json字符串时将日期类型转换成Long型的方法...

    有些特定需求, 比如说搜索引擎, 很多人都要求时间必须是时间戳. 所以, 我们把时间转成最原始的Long型. Gson默认的是不支持的, 需要手动处理一下. 日期转Long public class ...

  4. Golang中import 导入包的几种方式:点,别名与下划线

    在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import (// 多个"google.golang.org/grpc""imcs/ ...

  5. java对象转json字符串日期格式_fastJSON字符串类型数据中的日期转换为Java bean的日期对象...

    fastJSON字符串类型数据中的日期转换为Java bean的日期对象 Person.java import java.io.Serializable; import java.util.Date; ...

  6. Java:简述对象转换为字符串的三种方式

    Java:简述对象转换为字符串的三种方式 在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结. 一.(String)强制类型转换 使用 ...

  7. kubectl命令管理kubernetes对象的三种方式

    kubenetes的抽象概念,如Pod.Service.Volume.Namespace.ReplicaSet.Deployment.StatefulSet.DaemonSet.Job等统称对象,ku ...

  8. 获取Class对象的三种方式

    获取Class对象的三种方式 Object --> getClass() 通过对象.getclass 任何数据类型(包括基本数据类型)都有一个"静态"的class属性 通过类 ...

  9. ES6 中三种方式定义对象属性

    ES6 中三种方式定义对象属性 重复样本代码让开发者很不爽,代码混乱掩盖了重要业务代码.ES6关注并解决一些重复的代码方式,使代码简洁.逻辑清晰,如数组解构.对象解构.箭头函数等.本文我们主要介绍利用 ...

  10. java获取时间戳的三种方式比较

    文章目录 java获取时间戳的三种方式比较 java获取时间戳的三种方式比较 import java.util.Calendar; import java.util.Date; //不再推荐使用Dat ...

最新文章

  1. C++中.lib静态库、.dll动态库的生成及调用1
  2. gta5结局杀老崔我哭了_都已经2020年了,怎么还有人在买GTA5?
  3. 天天生鲜的用户登录机制和redis的作用
  4. 浅谈XSS攻击的那些事(附常用绕过姿势)
  5. 字符串的连接最长路径查找
  6. thinkPhp5.1配置常量与输出
  7. 经典排序算法(二十一)--Cycle Sort
  8. 全国主要省会城市和地区手机离线地图数据文件下载地址
  9. Mac动态桌面壁纸Dynamic Wallpaper惊艳你的桌面
  10. 详述快捷支付产品功能及设计要点
  11. CSS 3 五光十色的变色龙动画的制作
  12. 当黑客被抓是种怎样的体验?
  13. 统计推断-经典统计推断
  14. 使用cmd命令清空windows中C盘的所有临时文件
  15. 傅里叶变换和小波变换:时间序列异常检测
  16. JAVA学习记录day07
  17. 基于SpringBoot + Vue的个人博客系统12——使用vue-admin-template展示文章列表(后台管理)
  18. 中国招聘网站调研报告
  19. ISO26262 功能安全各个阶段测试要求
  20. Android弹幕功能实现,模仿斗鱼直播的弹幕效果

热门文章

  1. Cplex求解线性规划
  2. Windows XP / 2003 / Vista 原版光盘镜像(下载)及其主要特征
  3. WebLogic简单抓鸡大法
  4. Android 首次开机优化
  5. java文件传输接口
  6. 微信文件夹下不可言说的秘密自动生成小视频文件
  7. 2012年3月份第2周51Aspx源码发布详情
  8. 2019,边缘计算人在看什么书?
  9. 怎么从零基础学计算机打字,新手学电脑打字 0基础打字快速上手教程
  10. Oracle中相同字段补充,oracle一次给多表添加相同字段