最近使用fastJson,遇到了当bean转json时某一个属性名是大写转换为首字母小写问题; 其中有比较多的解决办法比如这篇博客里面所说的。 http://blog.csdn.net/itluochen/article/details/53131178 也是一种解决办法,不过太繁琐了。 本人太懒不想那么麻烦 ,所以想看看有没有其他更简单的办法。 去查了fastjson的文档 发现其提供了 一个过滤器 SerializeFilter 感觉这个过滤器应该可以实现大小写的功能 https://github.com/alibaba/fastjson/wiki/使用SimplePropertyPreFilter过滤属性 在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());