fastJson对象转字符串首字母小写问题

1、问题描述

最近在做接口,对方提供的接口文档里面属性居然都是大写的,感觉搞的很不专业。最大的问题是:转化为json字符串的时候自动把首字母给转为小写了。

2、解决方法

在字段的get方法上添加@JSONField(name = "NAME") 注解可以解决这类问题,具体代码如下:

package com.mao.beans;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;

public class T {

    public static void main(String[] args) throws Exception {
        String s = toJson(new User());
        System.out.println(s);
    }
    
    /**
     * 
     * 描述:将对象格式化成json字符串
     * @author [email protected]
     * @created 2017年4月1日 下午4:38:18
     * @since 
     * @param object 对象
     * @return json字符串
     * @throws Exception 
     */
    public static String toJson(Object object) throws Exception  {
        try {
            return JSON.toJSONString(object, new SerializerFeature[] {
                SerializerFeature.WriteMapNullValue, 
                SerializerFeature.DisableCircularReferenceDetect, 
                SerializerFeature.WriteNonStringKeyAsString });
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

}

class User {  
    
    private String NAME;
    
    private int AGE;
    
    @JSONField(name = "NAME") 
    public String getNAME() {
        return NAME;
    }
    
    public void setNAME(String nAME) {
        NAME = nAME;
    }
    
    @JSONField(name = "AGE") 
    public int getAGE() {
        return AGE;
    }
    
    public void setAGE(int aGE) {
        AGE = aGE;
    }  
    
}

3、运行结果

{"AGE":0,"NAME":null}

4、参考网站

http://bbs.csdn.net/topics/391831831

你可能感兴趣的:(fastJson对象转字符串首字母小写问题)