V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  a1b2c3T  ›  全部回复第 23 页 / 共 51 页
回复总数  1008
1 ... 19  20  21  22  23  24  25  26  27  28 ... 51  
2024 年 8 月 22 日
回复了 qi1 创建的主题 问与答 有的时候分不清梦和现实
@a1b2c3T #11 既视感
2024 年 8 月 22 日
回复了 qi1 创建的主题 问与答 有的时候分不清梦和现实
@dylanqqt #4 这好像有个专门的名词解释这个
2024 年 8 月 22 日
回复了 purenothingform 创建的主题 问与答 怀念 2019 年前的时光走不出来怎么办?
如果你抑郁了,那么你活在过去;
如果你焦虑了,那么你活在未来。
只有平静下来,才是活在当下。别想太多,把握好当下的生活和时光就是最好的选择
2024 年 8 月 22 日
回复了 0toz 创建的主题 问与答 chrome 更新 128 版本后,首页快捷方式变一行了
这个不知道啊,一直用的 infinity pro 标签页,老哥可以试试
2024 年 8 月 22 日
回复了 yyyzz 创建的主题 分享创造 [v0.0.3] 直接在推特里将你的帖子转换成卡片
我记着有个推特机器人就可以搞这个
2024 年 8 月 22 日
回复了 apollo007 创建的主题 Android 打算给老人换一个手机,求推荐
@apollo007 #11 王小波
2024 年 8 月 22 日
回复了 NoKey 创建的主题 程序员 请教: json 字符串转 map 时,如何做到驼峰转下划线
@CEBBCAT #13 啊我去,不知道还有这个规定啊。版规在哪儿呢,我去学习一下
2024 年 8 月 22 日
回复了 oldersnail 创建的主题 职场话题 快奔四了,危机感越来越重
@jay4497 #7 对,想明白了就无所吊谓,开心就好,及时行乐
2024 年 8 月 22 日
回复了 wfg 创建的主题 咖啡 咖啡真是好东西
@kuawo #10 “牲畜累了还知道休息,而牛马累了只会自己花钱买咖啡”
2024 年 8 月 22 日
回复了 wfg 创建的主题 咖啡 咖啡真是好东西
我个人喝咖啡喝茶感觉都不怎么提神,倒是喜欢那种强力薄荷
2024 年 8 月 22 日
回复了 wfg 创建的主题 咖啡 咖啡真是好东西
@arcaitan #5 不懂就问这是咋感觉出来的。。。
@EmbraceQWQ #2 这像是十年前的风格。。。
2024 年 8 月 21 日
回复了 QiLucis 创建的主题 计算机 rmb8000 预算,求推荐游戏笔记本!
拯救者
2024 年 8 月 21 日
回复了 hello202311 创建的主题 问与答 旅行不住酒店,还有其他过夜的方式吗?
带个帐篷一路扎过去
2024 年 8 月 21 日
回复了 J3W4 创建的主题 问与答 最近遇到个很现实的问题,想让 v 友帮忙分析下
如果是我我肯定是不会卖老家房子的,在外打工赚点钱该花花呗,老了回老家呆着。在成都重新买房背房贷,想想都头疼...
非要说建议,关于房子的建议没有,关于对象的倒有一个——还是分了换一个吧
2024 年 8 月 21 日
回复了 NoKey 创建的主题 程序员 请教: json 字符串转 map 时,如何做到驼峰转下划线
@a1b2c3T #1 来自 gpt 的回答
2024 年 8 月 21 日
回复了 NoKey 创建的主题 程序员 请教: json 字符串转 map 时,如何做到驼峰转下划线
在将 JSON 字符串转换为 Map 时,如果需要将 JSON 键的命名方式从驼峰命名法( Camel Case )转换为下划线命名法( Snake Case ),可以通过以下步骤实现:

方法一:手动转换
反序列化 JSON 字符串为 Map: 使用 Jackson 或 Gson 等库将 JSON 字符串反序列化为 Map 。
遍历 Map 并修改键名: 遍历 Map ,将每个键名从驼峰格式转换为下划线格式。
代码示例(使用 Jackson ):
java
复制代码
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
import java.util.Map;

public class CamelToSnake {
public static void main(String[] args) throws Exception {
String jsonString = "{\"userName\":\"JohnDoe\",\"userAge\":30}";

ObjectMapper objectMapper = new ObjectMapper();
// 反序列化 JSON 字符串为 Map
Map<String, Object> originalMap = objectMapper.readValue(jsonString, HashMap.class);

Map<String, Object> resultMap = new HashMap<>();

// 遍历 Map ,将驼峰转换为下划线格式
for (Map.Entry<String, Object> entry : originalMap.entrySet()) {
String snakeKey = camelToSnake(entry.getKey());
resultMap.put(snakeKey, entry.getValue());
}

// 输出转换后的 Map
System.out.println(resultMap);
}

// 将驼峰命名转为下划线命名
private static String camelToSnake(String camelCaseStr) {
StringBuilder result = new StringBuilder();
for (char c : camelCaseStr.toCharArray()) {
if (Character.isUpperCase(c)) {
result.append("_").append(Character.toLowerCase(c));
} else {
result.append(c);
}
}
return result.toString();
}
}
输出结果:
java
复制代码
{user_name=JohnDoe, user_age=30}
方法二:使用 Jackson 自定义策略
如果你希望自动将 JSON 中的字段从驼峰转换为下划线,可以使用 Jackson 的自定义命名策略来实现。

代码示例:
java
复制代码
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import java.util.Map;

public class JacksonCamelToSnake {
public static void main(String[] args) throws Exception {
String jsonString = "{\"userName\":\"JohnDoe\",\"userAge\":30}";

// 创建 ObjectMapper 并设置命名策略为下划线
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);

// 反序列化 JSON 字符串为 Map
Map<String, Object> resultMap = objectMapper.readValue(jsonString, Map.class);

// 输出转换后的 Map
System.out.println(resultMap);
}
}
输出结果:
java
复制代码
{user_name=JohnDoe, user_age=30}
说明
方法一 适用于需要手动控制转换过程的场景,可以灵活处理不同的命名转换规则。
方法二 使用 Jackson 的内置命名策略,可以自动将驼峰格式转换为下划线格式,非常方便,适用于更大规模的项目。
两种方法可以根据你的需求选择合适的实现方式。
我们公司用的企业微信,我感觉就还挺好
1 ... 19  20  21  22  23  24  25  26  27  28 ... 51  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   899 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 21:02 · PVG 05:02 · LAX 14:02 · JFK 17:02
♥ Do have faith in what you're doing.