Java线程输出字母大小写_FastJson 输出值 首字母大小写问题
解决方案:
1. 如果你的项目由多个模块且为分布式部署, 则可考虑使用设置System.property
2. 一般只是极少数的代码出现此情况, 那么建议直接在你的单例Service初始化时, 在静态块中直接改变TypeUtils的变量值, 如果用Spring的话可以使用InitializingBean进行处理
TypeUtils.compatibleWithJavaBean = true;
3. 此变量是public的注意要在一个地方进行改动, 避免线程安全问题
项目组使用FastJson, 在输出下面一段Json的时候出现此问题, 期望是大写但是fastJson将值自动首字母变成小写了
{"code":0,"message":"","result":{"facts":{"ip":{"aCUN_ONE_MIN":0,"aCUN_TEN_MIN":0}},"level":0}}
查询后发现fastjson内部做Bean转换时会使用到 com.alibaba.fastjson.util.TypeUtils, 核心代码如下, 在类加载的时候会去读取环境变量fastjson.compatibleWithJavaBean, 找不到则使用默认值false,将会导致首字母小写
public static boolean compatibleWithJavaBean = false;static{try{
String prop= System.getProperty("fastjson.compatibleWithJavaBean");if ("true".equals(prop)) {
compatibleWithJavaBean= true;
}else if ("false".equals(prop)) {
compatibleWithJavaBean= false;
}
}catch(Throwable ex) {//skip
}
}
public static List computeGetters(Class> clazz, Map aliasMap, boolean sorted) {
String propertyName;
if (Character.isUpperCase(c3)) {
if (compatibleWithJavaBean) {
propertyName = Introspector.decapitalize(methodName.substring(3));
} else {
propertyName = Character.toLowerCase(methodName.charAt(3)) + methodName.substring(4);
}
} else if (c3 == ‘_‘) {
propertyName = methodName.substring(4);
} else if (c3 == ‘f‘) {
propertyName = methodName.substring(3);
} else {
continue;
}}
原文:http://www.cnblogs.com/zhwbqd/p/3976697.html
Java线程输出字母大小写_FastJson 输出值 首字母大小写问题相关推荐
- Java中获取GBK编码汉字的拼音首字母(包括生僻字)
Java中获取GBK编码汉字的拼音首字母(包括生僻字) 前言 代码 结果 前言 网上关于Java中获取汉字的拼音首字母的方法很多,但大多基于GB2312的汉字所属编码位置判断方法,现有一种基于GBK编 ...
- 在Java中,如何使一个字符串的首字母变为大写
问题:在Java中,如何使一个字符串的首字母变为大写 我使用Java去获取用户的字符串输入.我尝试使他们输入的第一个字符大写 我尝试这样: String name;BufferedReader br ...
- Java汉字转拼音(全拼、首字母拼)
Java汉字转拼音(全拼.首字母拼) public class ChineseToEnglish { /*** 汉字转拼音* @param src* @return*/public static St ...
- python 字符串首字母,Python 字符串首字母大写-Python设置字符串首字母大写-python title()作用-python title函数-嗨客网...
Python字符串首字母大写 Python字符串首字母大写教程 在开发过程中,很多时候我们需要将一个 Python title()函数详解 语法 S.title() -> str 参数 参数 描 ...
- css 首字母,css如何设置英文首字母大写
我们经常在英文报纸上看到首个单词大写,那么单词首字母大写如何设置,可能很多人遇到这种问题都不知道怎么操作,下面我们来讲解一下css如何设置英文首字母大写? 实现英文首字母大写可以使用div+css,d ...
- c语言姓名提取首字母,SQL 提取姓名的首字母
SQL 提取姓名的首字母,你想把姓名变成首字母的形式,考虑人名 Stewie Griffin,你希望得到 S.G.. SQL 提取姓名的首字母 问题描述 你想把姓名变成首字母的形式,考虑人名 Stew ...
- oracle 中文拼音取首字母,ORACLE依据中文拼音首字母排序、取得中文拼音首字母函数...
当前位置:我的异常网» 数据库 » ORACLE依据中文拼音首字母排序.取得中文拼音首字母 ORACLE依据中文拼音首字母排序.取得中文拼音首字母函数 www.myexceptions.net 网友 ...
- js中文转拼音首字母(js汉字转拼音首字母)
一.js中文转拼音首字母实现功能 汉字转拼音首字母,js中文转拼音首字母 二.js中文转拼音首字母业务场景 在写即时通讯时必然要做通讯录(联系人列表),联系人列表通常是按照拼音字母表的顺序进行展示的, ...
- Java线程详解(12)-有返回值的线程
在Java5之前,线程是没有返回值的,常常为了"有"返回值,破费周折,而且代码很不好写.或者干脆绕过这道坎,走别的路了.现在Java终于有可返回值的任务(也可以叫做线程)了. 可返 ...
- Java线程:新特征-有返回值的线程(转)
在Java5之前,线程是没有返回值的,常常为了"有"返回值,破费周折,而且代码很不好写.或者干脆绕过这道坎,走别的路了. 现在Java终于有可返回值的任务(也可以叫做线程)了. 可 ...
最新文章
- Git Gui for Windows的建库、克隆(clone)、上传(push)、下载(pull)、合并(转)
- CALayer 一些简单的小例子
- 0322互联网新闻 | 搜狐视频重拾喜剧路线;抖音及海外版TikTok应用内购收入达7500万美元...
- Always keep in mind
- Redis中的发布订阅模式
- Django框架 day04
- XenApp_XenDesktop_7.6实战篇之十二:组策略配置
- React Portals与Error Boundaries
- https://en.wikipedia.org/wiki/Linux Foundation
- java单例模式 三种_三种java单例模式概述
- 启动与关闭VMware Workstation的BAT批处理脚本
- Pytroch常用损失函数总结
- VMbox 如何显示控制菜单,不显示控制菜单了
- 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(一起消消毒)
- Python 数据清理实战
- 如何在 PC 上识别微信二维码
- 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler...
- 架构师之路,2020半年精选!!!
- Ubuntu常用操作(本人)
- 如何做好团队目标管理?附实操方法与工具,强烈推荐
热门文章
- asp.net扩展Forms验证
- 随机森林的基分类器可否由决策树替换为线性分类器或者K-NN?
- nvidia ubuntu 驱动升级_解决 Ubuntu 在启动时冻结的问题
- java thread detach_Java多线程小结
- a卡 n卡 html5性能,实测说明,A卡N卡测试平台
- 理解 __doPostBack--2
- CentOS 7 yum安装Tomcat7-jenkins
- QSqlTableModel模型使用详解
- MySQL中的LIMIT 关键字
- 利用php利用root权限执行shell脚本必须进行以下几个步骤