fastjson將bean轉成字符串時key首字母大小寫問題

最近使用fastJson,遇到了當bean轉json時某一個屬性名是大寫轉換爲首字母小寫問題;
其中有比較多的解決辦法比如這篇博客裏面所說的。
http://blog.csdn.net/itluochen/article/details/53131178 也是一種解決辦法,不過太繁瑣了。
本人太懶不想那麼麻煩 ,所以想看看有沒有其他更簡單的辦法。
去查了fastjson的文檔 發現其提供了 一個過濾器 SerializeFilter 感覺這個過濾器應該可以實現大小寫的功能
https://github.com/alibaba/fastjson/wiki/%E4%BD%BF%E7%94%A8SimplePropertyPreFilter%E8%BF%87%E6%BB%A4%E5%B1%9E%E6%80%A7
在fastjson的wiki上也看到了他的使用方法,最後查詢SerializeFilter 的實現類,發現有一個叫做PascalNameFilter的過濾器已經實現了該功能 。

package com.alibaba.fastjson.serializer;

public class PascalNameFilter implements NameFilter {

    public String process(Object source, String name, Object value) {
        if (name == null || name.length() == 0) {
            return name;
        }

        char[] chars = name.toCharArray();
        chars[0]= Character.toUpperCase(chars[0]);

        String pascalName = new String(chars);
        return pascalName;
    }
}

於是簡單的通過一行代碼就解決了問題。content 是你需要轉換的對象

JSON.toJSONString(content,new PascalNameFilter());
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章