/**
* json大写转小写
*
* @return JSONObject
*/
public static JSONObject transToLowerObject(String json) {
JSONObject JSONObject2 = new JSONObject();
JSONObject JSONObject1 = JSON.parseObject(json);
for (String key : JSONObject1.keySet()){
Object object = JSONObject1.get(key);
if (object.getClass().toString().endsWith("JSONObject")) {
JSONObject2.put(key.toLowerCase(), transToLowerObject(object.toString()));
} else if (object.getClass().toString().endsWith("JSONArray")) {
JSONObject2.put(key.toLowerCase(), transToArray(JSONObject1.getJSONArray(key).toString()));
}else{
JSONObject2.put(key.toLowerCase(), object);
}
}
return JSONObject2;
} /**
* jsonArray转jsonArray
*
* @return JSONArray
*/
public static JSONArray transToArray(String jsonArray) {
JSONArray jSONArray2 = new JSONArray();
JSONArray jSONArray1 = JSON.parseArray(jsonArray);
for (int i = 0; i < jSONArray1.size(); i++) {
Object jArray = jSONArray1.getJSONObject(i);
if (jArray.getClass().toString().endsWith("JSONObject")) {
jSONArray2.add(transToLowerObject( jArray.toString()));
} else if (jArray.getClass().toString().endsWith("JSONArray")) {
jSONArray2.add(transToArray(jArray.toString()));
}
}
return jSONArray2;
}

这是递归方法,JSONArray用下面的方法,JSONObject用上面的方法

还有这种方案

    /**
* json的Key值转化为小写
* @param json
* @return
*/
public static String transformLowerCase(String json){
String regex = "[\\\"' ]*[^:\\\"' ]*[\\\"' ]*:";// (\{|\,)[a-zA-Z0-9_]+: Pattern pattern = Pattern.compile(regex);
StringBuffer sb = new StringBuffer();
// 方法二:正则替换
Matcher m = pattern.matcher(json);
while (m.find()) {
m.appendReplacement(sb, m.group().toLowerCase());
}
m.appendTail(sb);
return sb.toString();
}

也可以试试哦哦。

FastJson 对json中的KEY值的大小写转换方法的更多相关文章

  1. json中获取key值

    <script type="text/javascript"> getJson('age'); function getJson(key){ var jsonObj={ ...

  2. JS 遍历JSON中每个key值

    JS 遍历JSON中的每个key值,可以按键值对进行存储: var myVar = { typeA: { option1: "one", option2: "two&qu ...

  3. Python开发【笔记】:如何在字典遍历中删除key值?

    数据遍历时不能犯傻系列 前言: 针对字典做一些操作时,有时会遇到下面的状况,列如我们需要把data中的key值根据replace中的映射关系进行替换(Caller替换为caller) data = { ...

  4. js快速替换json里的key值

    需求是将b根据a的值替换对象中的key值 let a = ["code","name","date","font"]; ...

  5. JSON 中的 key

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standard ECMA-262 ...

  6. React 中的key值

    在react中必须要有key值,key不是用来提升react的性能的,react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的(例如你为一个组件设置key之后不能获取组件的这个key p ...

  7. react中对于key值的理解

    1.key是用来帮助react识别哪些内容被更改.添加或者删除.key需要写在用数组渲染出来的元素内部,并且需要赋予其一个稳定的值.如果key值发生了变更,react则会触发UI的重渲染. 2.在相邻 ...

  8. iOS 中plist文件中配置key值冲突的现象

    iOS开发一些特殊的软件需要在项目中配置对应的key值,然而近期在项目中发现一个有意思的现象,苹果官方文档中提供的key值很多,但其实有一些彼此可能有冲突,当你同时配置了彼此冲突的key值,可能会出现 ...

  9. 【python】json中字典key不可为数值型

    遇到了一个很诡异的错误.写一个字典,存入json文件.之后读出判断是否存在key.结果惊奇的发现,同一个key居然存在两次. 原因:json会将数值key转换为unicode 结论:使用json时字典 ...

随机推荐

  1. discuz x3.3门户出现关键词和描述显示“首页”的解决方法

    Discuz社区在后台设置好门户标题.关键字.描述,更新缓存,发现用户登录状态下,门户首页的关键字和描述正常显示:但在游客状态下不显示,在某工具中查看到的情况是只显示首页,这对SEO是致命打击. 找到 ...

  2. 转载>>去除inline-block元素间间距的N种方法《重》

    一.现象描述 真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距,很简单的个例子: <input /> <input type="su ...

  3. 15、Python面向对象基础

    和其它编程语言相比,Python 在尽可能不增加新的语法和语义的情况下加入了类机制. Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法 ...

  4. JS的ES6的Promise

    一.Promise 1.什么是Promise对象:代表未来某个将要发生的事件,一般指的是异步操作. 2.Promise对象 存在的目的:将异步操作以同步的流程表达出来,避免层层嵌套的回调函数(俗称回调 ...

  5. Spring Could Feign 设计原理

    什么是Feign? Feign 的英文表意为"假装,伪装,变形", 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HT ...

  6. nuxtjs在vue组件中使用window对象编译报错的解决方法

    我们知道nuxtjs是做服务端渲染的,他有很多声明周期是运行在服务端的,以及正常的vue声明周期mounted之前均是在服务端运行的,那么服务端是没有比如window对象的location.navag ...

  7. 如何实现大麦场在线选座 svg js

    本实例来源于此网站,内有Demo,可查看 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  8. map访问key不存在的情况下,用find。比[]直接访问的意思不一样,map[key]不返null

    key不存在的话则创建一个pair并调用默认构造函数 map<CGuid, CLibItem>::iterator iterItem = m_world->m_library_sce ...

  9. linux高性能服务器编程 (五) --Linux网络编程基础api

    第五章 Linux网络编程基础api 1.主机字节序和网络字节序 字节序是指整数在内存中保存的顺序.字节序分为大端字节序.小端字节序. 大端字节序:一个整数的高位字节数据存放在内存的低地址处.低位字节 ...

  10. oracle 使用count()函数进行分组计数时所踩的坑!

      1.情景展示 需要对id_card字段按字符长度进行分组统计并进行计数. 2.错误方式 第一步:统计出id_card字段共存在几种情况. 第一种方式:distinct 第二种方式:group by ...