Java Json 数据下划线与驼峰格式进行相互转换

摘要:
概述今天,我们需要在下划线和驼峰格式之间转换json数据。Fastjson、Jackson和Gson都提供了转换方法。下面是一些例子。
概述

今天遇见一个需求,需要对json数据进行下划线与驼峰格式之间进行转换,在Fastjson、Jackson、Gson都提供了转换的方式,在这里进行一下列举。

User类:
public class User {

    private String nameInfo;

    private String ageInfo;

    public String getNameInfo() {
        return nameInfo;
    }

    public void setNameInfo(String nameInfo) {
        this.nameInfo = nameInfo;
    }

    public String getAgeInfo() {
        return ageInfo;
    }

    public void setAgeInfo(String ageInfo) {
        this.ageInfo = ageInfo;
    }
}

  

Fastjson
// 生产环境中,config要做singleton处理,要不然会存在性能问题
User user = new User();
user.setNameInfo("coder");
user.setAgeInfo("28");
SerializeConfig config = new SerializeConfig();
config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
String json = JSON.toJSONString(user, config);
Assert.assertEquals("{"age_info":"28","name_info":"coder"}", json);

 

Gson
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
Gson gson = gsonBuilder.create();

User user = new User();
user.setName("coder");
user.setAge(28);

String json = gson.toJson(user);
Assert.assertEquals("{"age_info":"28","name_info":"coder"}", json);

  

 

Jackson
User user = new User();
user.setNameInfo("coder");
user.setAgeInfo("28");
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(com.fasterxml.jackson.databind.PropertyNamingStrategy.SNAKE_CASE);
String json = mapper.writeValueAsString(user);
Assert.assertEquals("{"name_info":"coder","age_info":"28"}", json);

  

免责声明:文章转载自《Java Json 数据下划线与驼峰格式进行相互转换》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇win7中python3.4下安装scrapy爬虫框架(亲测可用)pyhton安装pillow问题解决下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

LeetCode(71):简化路径

Medium! 题目描述: 给定一个文档 (Unix-style) 的完全路径,请进行路径简化。 例如,path="/home/", =>"/home"path="/a/./b/../../c/", =>"/c" 边界情况: 你是否考虑了 路径 ="/../"的情况?在这种情况下,你需返回"/"。 此外,路径中也可能包含多个斜杠'/',如"/...

024. asp.net中第一次使用GridView (设置鼠标经过时更换背景色)

1. 前端HTML代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht...

c#下怎么判断一个字符串是否可以转换为double类型

using System.Text.RegularExpressions; //引入Regex命名空间bool a = Regex.IsMatch(string, @"^[+-]?d*[.]?d*$"); //这个方法会返回一个布尔值,如果string字符串可以转换为double,则返回True,反之为False。bool b = Regex.IsMatc...

Swift开发中 JSON对象/JSON字符串/Data的互转

本文将介绍Swift开发中常用的转换(JSON对象/JSON字符串/Data之间的互相转换) #pragma mark - JSON(对象)----->JSON字符串 1、原生方法 //JSON--->data--->JSON字符串 let data = try?JSONSerialization.data(withJSONObject:...

微信分享接口的java开发的一些小步骤

1.配置接口信息进行验证 代码如下:     /**     * 访问没认证的地址跳转     *     * @param request     * @return 登录页面     * @throws Exception     */    @RequestMapping(value = "/checkWxDomainUrl", method =...

Fastjson介绍

简单介绍 Fastjson是一个Java语言编写的高性能功能完好的JSON库。 高性能 fastjson採用独创的算法,将parse的速度提升到极致,超过全部json库,包含以前号称最快的jackson。而且还超越了google的二进制协议protocol buf。 支持标准 Fastjson全然支持http://json.org的标准,也是官...