HarmonyOS鸿蒙Next中网络请求回来的Json字符串如何解析为实体类
HarmonyOS鸿蒙Next中网络请求回来的Json字符串如何解析为实体类 以下面数据为例,如何转为实体类对象呢
let jsonStr = "[{
"name":"张三","age":"15","hobbies":["王者荣耀","唱歌"]
},{"name":"李四","age":"16","hobbies":["羽毛球"]},
{"name":"王五","age":"17","hobbies":["羽毛球","乒乓球","LOL"]}]"
class Student {
name: string;
age: number;
hobbies: Array<string>
}
更多关于HarmonyOS鸿蒙Next中网络请求回来的Json字符串如何解析为实体类的实战教程也可以访问 https://www.itying.com/category-93-b0.html
可以使用Json.parse
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-json-V5#jsonparse
interface Student {
name: string;
age: number;
hobbies: Array<string>
}
handleJSONString(jsonStr: string): Student {
return JSON.parse(jsonStr) as Student;
}
as语法:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/typescript-to-arkts-migration-guide-V5#类型转换仅支持as-t语法
更多关于HarmonyOS鸿蒙Next中网络请求回来的Json字符串如何解析为实体类的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
用JSON.parse
let jsonStr = `[{"name":"张三","age":"15","hobbies":["王者荣耀","唱歌"]},
{"name":"李四","age":"16","hobbies":["羽毛球"]},
{"name":"王五","age":"17","hobbies":["羽毛球","乒乓球","LOL"]}]`;
class Student {
name: string;
age: number;
hobbies: Array<string>;
constructor(name: string, age: number, hobbies: Array<string>) {
this.name = name;
this.age = age;
this.hobbies = hobbies;
}
}
// 解析 JSON 字符串
let studentArray: Array<Student> = JSON.parse(jsonStr).map((item: any) => {
return new Student(item.name, parseInt(item.age), item.hobbies);
});
console.log(studentArray);
在HarmonyOS鸿蒙Next中,网络请求返回的Json字符串可以通过JsonUtil类进行解析。JsonUtil是鸿蒙系统提供的一个工具类,用于处理Json数据的序列化和反序列化。假设你有一个实体类User,其结构如下:
class User {
id: number;
name: string;
email: string;
}
要将Json字符串解析为User对象,可以使用JsonUtil的parse方法:
let jsonString = '{"id": 1, "name": "John", "email": "john@example.com"}';
let user: User = JsonUtil.parse(jsonString, User);
JsonUtil.parse方法将Json字符串解析为指定的实体类对象。如果Json字符串的字段与实体类的属性匹配,解析过程将自动完成。
如果Json字符串是一个数组,也可以使用相同的方法进行解析:
let jsonArrayString = '[{"id": 1, "name": "John"}, {"id": 2, "name": "Jane"}]';
let users: User[] = JsonUtil.parse(jsonArrayString, Array<User>);
JsonUtil还提供了stringify方法,用于将对象序列化为Json字符串:
let user = new User();
user.id = 1;
user.name = "John";
user.email = "john@example.com";
let jsonString = JsonUtil.stringify(user);
以上就是在HarmonyOS鸿蒙Next中解析Json字符串为实体类的基本方法。


