HarmonyOS 鸿蒙Next:json转实体类无法显示在屏幕上
HarmonyOS 鸿蒙Next:json转实体类无法显示在屏幕上
import { http } from ‘@kit.NetworkKit’; import { JSON } from ‘@kit.ArkTS’; import { Singer } from ‘…/model/Singer’; import { router } from ‘@kit.ArkUI’; import { BusinessError } from ‘@kit.BasicServicesKit’;
interface SingerClass { singer_id: number; singer_name: string; singer_img: string; }
@Entry @Component struct Second { @State text: string = ‘back’; @State singers: Array<Singer> = [];
aboutToAppear() { this.fetchSingers(); }
build() {
Column() {
ForEach(this.singers, (singer: Singer) => {
Column() {
Text(ID: ${singer.singer_id}
);
Text(Name: ${singer.singer_name}
);
}.margin({ top: 10 });
});
}
.width(‘100%’)
.height(‘100%’);
}
fetchSingers() { console.log(‘进行数据请求’); let httpRequest = http.createHttp();
httpRequest.request(
'http://0.0.0.0:3000/singers',
{
method: http.RequestMethod.GET,
extraData: '',
header: { 'Content-Type': 'application/json' },
},
(err, data) => {
if (!err) {
try {
console.log('进行数据处理');
let singersData = JSON.parse(data.result as string);
if (Array.isArray(singersData)) {
this.singers = singersData.map((item: SingerClass) =>
new Singer(item.singer_id, item.singer_name, item.singer_img)
);
console.log('响应数据:', this.singers);
}
} catch (e) {
console.log('解析错误:', e);
}
} else {
console.log('Error:', JSON.stringify(err));
}
httpRequest.destroy();
}
);
} }
The json.parse interface in the Previewer is a mocked implementation and may behave differently than on a real device.
求助lol
更多关于HarmonyOS 鸿蒙Next:json转实体类无法显示在屏幕上的实战教程也可以访问 https://www.itying.com/category-93-b0.html
使用.push添加
let singersData = JSON.parse(data.result as string);
if (Array.isArray(singersData)) {
this.singers = []
singersData.map((item: SingerClass) => {
this.singers.push(new Singer(item.singer_id, item.singer_name, item.singer_img))
}
);
console.log('响应数据:', this.singers);
}
更多关于HarmonyOS 鸿蒙Next:json转实体类无法显示在屏幕上的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对帖子标题“HarmonyOS 鸿蒙Next:json转实体类无法显示在屏幕上”的问题,以下是专业回答:
在HarmonyOS鸿蒙系统中,若遇到JSON转实体类后数据无法在屏幕上显示的问题,可能原因及解决方案如下:
-
绑定问题:检查实体类与UI组件的数据绑定是否正确。确保使用了正确的数据绑定语法,并且实体类的属性名与JSON键名相匹配。
-
UI组件问题:验证UI组件是否已正确初始化,并且处于可见状态。同时,检查组件的属性设置,确保能够接收并显示绑定的数据。
-
数据更新问题:若数据是在后台线程中获取的,确保数据更新操作在主线程中执行,或使用HarmonyOS提供的数据绑定机制来自动更新UI。
-
JSON解析问题:检查JSON解析过程是否正确,确保没有解析错误,且实体类属性类型与JSON值类型一致。
-
日志调试:使用HarmonyOS的日志系统打印关键变量的值,以便追踪数据流向和状态变化,从而定位问题所在。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,