HarmonyOS 加载本地rowfile文件中的 json 数据, 然后转成对象,怎么实现?

HarmonyOS 加载本地rowfile文件中的 json 数据, 然后转成对象,怎么实现?

HarmonyOS
9h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

示例如下:

//  a.json 的内容 
{ 
  "a": [ 
    { 
      "name": "module_desc", 
      "value": "module description" 
    }, 
    { 
      "name": "EntryAbility_desc", 
      "value": "description" 
    }, 
    { 
      "name": "EntryAbility_label", 
      "value": "label" 
    } 
  ] } 
//获取rowfile文件并解析成对象 
import { common } from '@kit.AbilityKit'; 
import { BusinessError } from '@kit.BasicServicesKit'; 
import { buffer } from '@kit.ArkTS'; 
//构造对象 
class  TestObj { 
public   a: TestobjOne[]; 
constructor(a: TestobjOne[]) { 
this.a = a; 
} 
} 
class TestobjOne{ 
public   name:string ; 
public   value: string; 
constructor(name:string ,value:string) { 
this.name  = name; 
this.value  = value; 
} 
}
@Entry 
@Component 
struct Index { 
 
  private  context = getContext(this) as common.UIAbilityContext; 
  build() { 
    Column() { 
 
      Button("获取rawFile文件").onClick(()=>{ 
        try { 
          let jsonUti8Arry =   this.context.resourceManager.getRawFileContentSync("a.json"); 
          let JsonStr =  buffer.from(jsonUti8Arry).toString(); 
          let Obj: TestObj  =   JSON.parse(JsonStr) 
          //测试获取TestobjOne对象的name字段 
          console.log(Obj.a[0].name) 
 
        } catch (error) { 
          let code = (error as BusinessError).code; 
          let message = (error as BusinessError).message; 
          console.error(`getRawFileContentSync failed, error code: ${code}, message: ${message}.`); 
        } 
      }) 
    } 
    .width('100%') 
    .height('100%')
分享
微博
QQ
微信
回复
5h前
相关问题
HarmonyOS HasMap 如何转成对象
124浏览 • 1回复 待解决
HarmonyOS json数据如何转成map
795浏览 • 1回复 待解决
Color.Black如何转成对颜色编码
1974浏览 • 1回复 待解决
如何读取本地JSON文件
2051浏览 • 1回复 待解决
HarmonyOS 本地加载数据太卡顿
139浏览 • 1回复 待解决
HarmonyOS 如何把对象转成HasMap
504浏览 • 2回复 待解决
stageMode下如何读取本地json 文件
3517浏览 • 1回复 待解决
读取本地json 文件提示权限拒绝
3124浏览 • 1回复 待解决
想把APK文件转成HAP怎么弄?
3890浏览 • 2回复 待解决
HarmonyOS 如何创建json对象
357浏览 • 1回复 待解决