| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package com.usky.utils;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /**
- * @author 我去喂猪了
- * @version v1.0
- * @date 2020/9/12 14:35
- * @description TODO
- **/
- public class JsonUtil {
- private static Pattern linePattern = Pattern.compile("_(\\w)");
- /** 下划线转驼峰 */
- public static String lineToHump(String str) {
- str = str.toLowerCase();
- Matcher matcher = linePattern.matcher(str);
- StringBuffer sb = new StringBuffer();
- while (matcher.find()) {
- matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
- }
- matcher.appendTail(sb);
- return sb.toString();
- }
- /** 驼峰转下划线(简单写法,效率低于{@link #humpToLine2(String)}) */
- public static String humpToLine(String str) {
- return str.replaceAll("[A-Z]", "_$0").toLowerCase();
- }
- private static Pattern humpPattern = Pattern.compile("[A-Z]");
- /** 驼峰转下划线,效率比上面高 */
- public static String humpToLine2(String str) {
- Matcher matcher = humpPattern.matcher(str);
- StringBuffer sb = new StringBuffer();
- while (matcher.find()) {
- matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
- }
- matcher.appendTail(sb);
- return sb.toString();
- }
- public static void main(String[] args) {
- String lineToHump = lineToHump("{\"device_code\":\"12321312332313\",\"company_code\":\"\",\"device_name\":\"1223\",\"transmission_mode\":\"1\",\"device_types\":\"3\",\"device_model\":\"6\",\"data\":\"1\",\"device_install\":\"1\",\"device_floor\":\"1\",\"sim\":\"11\",\"manufactor_name\":\"无锡蓝天\",\"installer\":\"1\",\"magnification\":\"\",\"model_corresponding_method\":\"\",\"ports\":\"0\",\"highest_floor\":\"1\",\"lowest_floor\":\"1\",\"top_level_label\":\"0\",\"ownerId\":\"0\",\"device_type\":\"Smoke\",\"is_secure\":\"0\",\"status\":\"1\",\"protocol_type\":\"CoPA\",\"location\":\"黄浦区\",\"model\":\"\",\"psk\":\"c78af7fe1406eaad0898cce15b6e15f1\",\"iot_id\":\"7662fe48-2cdb-467f-869e-dd6a6babf8c4\",\"ownerCode\":\"YT100036000010000001\",\"number\":\"10000001\"}");
- System.out.println(lineToHump);// fParentNoLeader
- }
- }
|