HarmonyOS 鸿蒙Next:服务器返回的json数据,key是下划线的,如何转成对象时,变成驼峰的key
HarmonyOS 鸿蒙Next:服务器返回的json数据,key是下划线的,如何转成对象时,变成驼峰的key
有没有类似flutter的转化?
@JsonKey(name: ‘brief_introduction’) String briefIntroduction;
更多关于HarmonyOS 鸿蒙Next:服务器返回的json数据,key是下划线的,如何转成对象时,变成驼峰的key的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
使用ohpm命令安装包:
ohpm install class-transformer
ohpm install reflect-metadata
安装之后,参考下方代码即可实现下划线转驼峰
import 'reflect-metadata';
import { Expose, instanceToPlain, plainToInstance, Type } from 'class-transformer';
class Test {
[@Expose](/user/Expose)({ name: "my_hit" }) //1. 设置
myHit: number = 0;
[@Expose](/user/Expose)({ name: "meta_data" })
[@Type](/user/Type)(() => AuthorMeta) //保证嵌套类型反序列化后可以正常转成目标class
meta: AuthorMeta = new AuthorMeta();
}
class AuthorMeta {
[@Expose](/user/Expose)({ name: 'focus_count' })
focusCount: number = 10;
}
[@Entry](/user/Entry)
[@Component](/user/Component)
struct JSONIndex {
build() {
Column() {
Button('click me')
.onClick(() => {
// 序列化示例
let test = new Test();
test.myHit = 100;
let serializedData = instanceToPlain(test); // 2.转换
let jsonstr = JSON.stringify(serializedData); //3. 输出
console.info(`DZG test jsonstring: ${jsonstr}`);
// 反序列化示例
let deserTest: Test = JSON.parse(jsonstr);
let deserData = plainToInstance(Test, deserTest);
console.info(`DZG test instance value of myHit:${deserData.myHit} metaData's focusCount:${deserData.meta.focusCount}`)
})
}
}
}
更多关于HarmonyOS 鸿蒙Next:服务器返回的json数据,key是下划线的,如何转成对象时,变成驼峰的key的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
怎么样可以获得class对应的代码?有没有在线生成的网站
嘛意思?说清楚点呢