鸿蒙Harmony json转对象(1)

打印 上一主题 下一主题

主题 1076|帖子 1076|积分 3228

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
案例1


 运行代码如下

 上图的运行效果如下:


附加1 
  1. <strong>Json_msg interface</strong>
复制代码



案例2

  1. import {JSON } from '@kit.ArkTS';
  2. export interface commonRes {
  3.   status: number
  4.   returnJSON: ESObject;
  5.   time: string
  6. }
  7. export interface returnRes {
  8.   uid: string
  9.   userType: number;
  10. }
  11. @Entry
  12. @Component
  13. struct Index {
  14.   @State message: string = 'Hello World';
  15.   build() {
  16.     RelativeContainer() {
  17.       Text(this.message)
  18.         .id('HelloWorld')
  19.         .fontSize(50)
  20.         .fontWeight(FontWeight.Bold)
  21.         .onClick(async (event: ClickEvent) => {
  22.           // 将该json 解析成对象
  23.           let str = '{"returnJSON":{"uid":"02f17bc6b3fc465fab91d083844c7a29","userType":1,"createOn":"2024-07-12 16:38:18","thirdPartys":[],"info":{"cardNo":"AAA02342","radishQty":0},"showPage":false,"userMark":"old","isBlackNight":true,"installChannel":"Harmonyos","adChannel":"Harmonyos","showImg":"https://word.xxx.cn/tools/diary/UserDress/53c36b159ce84cf583db8f7d866cab40.png","IsDollOpen":true,"IsActivityOpen":true,"nickName":"匿名","level":1,"levelNick":"萌新","proType":0,"color":"#D2B7FF","PhotoFrameUrl":""},"status":1,"time":"2024-07-15 03:04:16"}'
  24.           let str1 = '{"returnJSON":{"uid":"02f17bc6b3fc465fab91d083844c7a29","userType":1},"status":1,"time":"2024-07-15 03:04:16"}'
  25.           let obj:commonRes = JSON.parse(str) as commonRes
  26.           console.log("----1-time--"+obj.time)
  27.           //方案一 自定义returnRes类
  28.           let res:returnRes = obj.returnJSON
  29.           console.log("----1-uid-"+res.uid)
  30.           //方案二 不定义returnRes类
  31.           let res1:ESObject = JSON.parse(JSON.stringify(obj.returnJSON))
  32.           console.log("----2-uid-"+res1["uid"])
  33.         })
  34.         .alignRules({
  35.           center: { anchor: '__container__', align: VerticalAlign.Center },
  36.           middle: { anchor: '__container__', align: HorizontalAlign.Center }
  37.         })
  38.     }
  39.     .height('100%')
  40.     .width('100%')
  41.   }
  42. }
复制代码
案例3

  1. import { DataAbilityHelper } from '@ohos.data.ability';
  2. interface Person {
  3.   name: string;
  4.   age: number;
  5.   city: string;
  6. }
  7. @Component
  8. struct JsonToEntity {
  9.   async convertJsonToEntities(jsonString: string) : Person[] {
  10.     let persons: Person[] = JSON.parse(jsonString) as Person[];
  11.     return persons;
  12.   }
  13.   build() {
  14.     Column() {
  15.       let jsonString = `[{"name":"徐庆","age":31,"city":"湖北"},{"name":"宇智波斑","age":80,"city":"宇智波"},{"name":"万祐宁","age":30,"city":"湖北"},{"name":"千手柱间","age":79,"city":"木叶"},{"name":"我爱罗","age":28,"city":"沙影村"},{"name":"佩恩","age":34,"city":"雨影村"}]`;
  16.       let persons: Person[] = convertJsonToEntities(jsonString)
  17.         console.debug(`param is ` + persons[0].name);
  18.     }
  19.   }
  20. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表