首页 > 代码库 > fastJson中JSON的key大小写转换问题

fastJson中JSON的key大小写转换问题

程序中的大小写问题总是会困扰这我们。

尤其在各个不同的系统之间的话更是如此。

在项目中对接的是SAP的项目的话,其中他们是以数据库为基础的开发环境,而数据库则是不认大小写的。

所以传给SAP的数据都是要大写。

但是Java规范中,变量都是要小写的。而且FastJson中的数据也是会将属性中的第一个转换成小写。这个问题很困扰我呢。

所以找到了解决方案,既然现在FastJson不行,我就换一个Gson就好了,就能够解决这个问题了。

哈哈:maven中加入gson的依赖

<dependencies>
      <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.0</version>
    </dependency>
  </dependencies>

然后执行代码:

package com.wlh.study;

import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;

public class TestJson {
    
    public static void main(String[] args) {
        Gson gson = new Gson();
        String json = gson.toJson(getBean());
        System.out.println(json);
    }

    private static Object getBean() {
        Bean bean = new Bean();
        bean.setNAME("123");
        bean.setTEST("test");
        List<SubBean> subBeanList = new ArrayList<SubBean>();
        SubBean subBean = new SubBean();
        subBean.setNAME("1234");
        subBean.setTEST("123444");
        subBeanList.add(subBean);
        SubBean subBean2 = new SubBean();
        subBean2.setNAME("122");
        subBean2.setTEST("123");
        subBeanList.add(subBean2);
        bean.setSUBLIST(subBeanList);
        return bean;
    }
}

结果:

{"TEST":"test","NAME":"123","SUBLIST":[{"NAME":"1234","TEST":"123444"},{"NAME":"122","TEST":"123"}]}

令人满意!,哈哈

fastJson中JSON的key大小写转换问题