HarmonyOS 鸿蒙Next网络数据下划线key的json转换成驼峰model

发布于 1周前 作者 gougou168 来自 鸿蒙OS

HarmonyOS 鸿蒙Next网络数据下划线key的json转换成驼峰model

如题,请问这种数据转换如何实现呢

8 回复
export  class CamelCaseConverter {

  public static convertKeysToCamelCase(jsonStr): string {

    const camelCaseJsonStr = jsonStr.replace(/"(\w+)":/g, (match, p1) => {
      const camelCaseKey = p1.replace(/_([a-z])/g, (match, group) => group.toUpperCase());
      return `"${camelCaseKey}":`;
    });

    return camelCaseJsonStr;
  }

}

更多关于HarmonyOS 鸿蒙Next网络数据下划线key的json转换成驼峰model的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


楼主你好,可以试下如下方案。

  underlineToHump(str: string): string {

    return str.replace(/_([a-z])/g, (match:string, group:string) => group.toUpperCase());

  }

  aboutToAppear(): void {

    let  str = 'ab_cd'

    let result = this.underlineToHump(str)

    console.log(result)

  }

二维码失效了哈,最终用ts写就可以了,ets不行

哈哈,我也是用ts写的

这里边,不支持代码格式化,我贴后面了

自己写个工具方法

在尝试写,但是语法上一直在报错。。。

在HarmonyOS鸿蒙系统中,将网络数据下划线key的JSON转换成驼峰命名的Model,通常可以通过自定义反序列化逻辑来实现。这涉及到JSON解析库的使用,比如在Java环境中常用的Gson或Jackson。

以Gson为例,可以通过自定义TypeAdapter或FieldNamingPolicy来实现下划线key到驼峰命名的转换。首先,创建一个自定义的FieldNamingPolicy,该策略将下划线分隔的字段名转换为驼峰命名。然后,在GsonBuilder中设置这个自定义的FieldNamingPolicy。

对于Jackson,可以使用PropertyNamingStrategy来自定义字段名的转换逻辑。编写一个继承自PropertyNamingStrategy的类,重写translate方法来实现下划线到驼峰命名的转换,并在ObjectMapper中设置这个自定义的命名策略。

这两种方法都能有效地将JSON中的下划线key转换为Java对象中的驼峰命名属性。确保在转换过程中正确处理所有字段,特别是那些可能包含特殊字符或需要额外处理的字段。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部