OpenHarmony开发者论坛
标题:
ArkTS语法中多层实体类嵌套的对象转JSON结构,嵌套的引用JSON丢失问题
[打印本页]
作者:
chmchen
时间:
2024-4-12 15:53
标题:
ArkTS语法中多层实体类嵌套的对象转JSON结构,嵌套的引用JSON丢失问题
[md]```
//有以下实体类
DataInfoA.ets
export class DataInfoA {
public nameA: string = '';
public mapB: HashMap<string, DataInfoB> = new HashMap();
}
DataInfoB.ets
export class DataInfoB {
public nameB: string = '';
public mapC: HashMap<string, DataInfoC> = new HashMap();
}
DataInfoC.ets
export class DataInfoC {
public nameC: string = '';
public exct: ArrayList<string> = new ArrayList()
}
//数据填充
let dataInfoA: DataInfoA = new DataInfoA()
dataInfoA.nameA = "dataInfoA"
let dataInfoB: DataInfoB = new DataInfoB()
dataInfoB.nameB = "dataInfoB"
let dataInfoC: DataInfoC = new DataInfoC()
dataInfoC.nameC = "dataInfoC"
dataInfoC.exct.add("dataInfoC-exct")
dataInfoA.mapB.set(dataInfoB.nameB, dataInfoB)
dataInfoB.mapC.set(dataInfoC.nameC, dataInfoC)
//转JSON结构
let DataInfoJson = JSON.stringify(dataInfoA)
LogUtils.warn(CommonConstants.TAG_COMMON_UTILS, 'DataInfoJson ===> ' + DataInfoJson);
log输出
Index-Test, DataInfoJson ===> {"nameA":"dataInfoA","mapB":{}}
```
[/md]
作者:
hyacinth养花人
时间:
2024-4-12 18:53
JSON.stringify 本来就是这样的啊。JSON.stringify()将值转换为相应的 JSON 格式,JSON 格式本身并不支持直接表示 HashMap 结构。
可以看下class-transformer这个三方库
https://ohpm.openharmony.cn/#/cn/detail/class-transformer
作者:
chmchen
时间:
2024-4-15 10:02
回复
hyacinth养花人
: @Type(() => Photo)
嵌套对象或者map使用这个直接闪退
作者:
hyacinth养花人
时间:
2024-6-5 14:29
回复
chmchen
: API11以上要配合reflect-metadata库一起使用
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5