python 下划线转驼峰_json字符串中key值下划线命名转换为驼峰命名

json字符串中key值下划线命名转换为驼峰命名:

例如:

原json串:

String json= "{'user_name':'ok','user_sex':0,'object_info':{'business_code':'0001','business_info':{'business_name':'ok'}}}";

转换为:

String json= "{'userName':'ok','userSex':0,'objectInfo':{'businessCode':'0001','businessInfo':{'businessName':'ok'}}}";

具体工具类如下:

public class JsonUtils {

public final static void convert(Object json) {

if (json instanceof JSONArray) {

JSONArray arr = (JSONArray) json;

for (Object obj : arr) {

convert(obj);

}

} else if (json instanceof JSONObject) {

JSONObject jo = (JSONObject) json;

Set keys = jo.keySet();

String[] array = keys.toArray(new String[keys.size()]);

for (String key : array) {

Object value = jo.get(key);

String[] key_strs = key.split("_");

if (key_strs.length > 1) {

StringBuilder sb = new StringBuilder();

for (int i = 0; i < key_strs.length; i++) {

String ks = key_strs[i];

if (!"".equals(ks)) {

if (i == 0) {

sb.append(ks);

} else {

int c = ks.charAt(0);

if (c >= 97 && c <= 122) {

int v = c - 32;

sb.append((char) v);

if (ks.length() > 1) {

sb.append(ks.substring(1));

}

} else {

sb.append(ks);

}

}

}

}

jo.remove(key);

jo.put(sb.toString(), value);

}

convert(value);

}

}

}

public final static Object convert(String json) {

Object obj = JSON.parse(json);

convert(obj);

return obj;

}

}

java 获取json字符串中key对应的值

用到了Gson的JsonParser maven项目引入 com.google.code.gson ...

获取Json字符串中的key和value

获取Json字符串中的key和value 在web项目中经常会用到json数据(如:struts2处理请求返回json数据给jsp解析),因此,JSONObject对象是必备的,这时就需要引入相关的j ...

python中那些双下划线开头得函数和变量--转载

Python中下划线---完全解读     Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用'from module import *'导入 __xxx__ 系统定义名字 __x ...

python中那些双下划线开头得函数和变量

Python中下划线---完全解读     Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用’from module import *’导入 __xxx__ 系统定义名字 __x ...

python python中那些双下划线开头的那些函数都是干啥用用的

1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...

SNF快速开发平台MVC-EasyUI3&period;9之-WebApi和MVC-controller层接收的json字符串的取值方法和调用后台服务方法

最近项目组很多人问我,从前台页面传到后台controller控制层或者WebApi 时如何取值和运算操作. 今天就都大家一个在框架内一个取值技巧 前台JS调用代码: 1.下面是选中一行数据后右键点击时 ...

SQL搜索下划线,like中不能匹配下划线的问题

最近在检测天气预报15天查询网 站(http://tqybw.net)时的URL时,发现页面中有很些404页,分析发现,是请求地址的能参数中多了下划线“_”,而rewrite规 则中并没有配这样的规则 ...

在java代码中显示json字符串(怎么避免json字符串中双引号在java代码中显示)

String log = "eyJvcmRlckluZm8iOnsiaWQiOjEwNzQwNCwib3JkZXJJZCI6MjczNjQyMSwicHJvZHVjdENvZGUiOjQ1N ...

随机推荐

如果layer层在iframe下不居中滚动

需要在layer前面加上parent.layer. 2.运用layer层的步骤: 1.引入1.8版本以上的jquery文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值