HarmonyOS 如何将工程里的json文件读取出来并转换为jsonBean

想在HarmonyOS工程里放一个json文件,请问怎样将其读取出来并转换为jsonBean?

HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

想将本地json文件转成object对象,参考代码如下:

Index.ets

import { Context } from '@ohos.abilityAccessCtrl';
import buffer from '@ohos.buffer';
import { JsonBean } from  '../model/JsonBean';
@Entry
@Component
struct Index {
  private context:Context = getContext(this) ;
  private str:string = ''
  getRawFile(): ESObject{
    //调用getRawFileContent接口获取json文件内容,并读为string
    getContext(this).resourceManager.getRawFileContent("data.json",(err,data)=>{
      try {
        this.str = buffer.from(data.buffer).toString();
        console.info(JSON.stringify(this.str))
      }catch (e){
        console.info(JSON.stringify(e))
      }
    })
    //也可以调用getRawFileContentSync接口获取json文件内容,并读为string
    try {
      let data: Uint8Array= this.context.resourceManager.getRawFileContentSync("data.json");
      this.str = buffer.from(data.buffer).toString();
    } catch (e) {
      console.info(JSON.stringify(e))
    }
    // string转为JsonBean
    let obj:JsonBean = JSON.parse(this.str)
    console.info(obj.name);
    console.info(obj.age);
    console.info(obj.area);
    return obj
  }
  build() {
    Column() {
      Button("get")
        .onClick(() => {
          this.getRawFile()
        })
    }.width('100%')
  }
}

data.json文件是存放路径entry-src-main-resources-rawfile-data.json。

data.json 文件:

{
  "name": "john",
  "area": "nanjing",
  "age": "22"
}

JsonBean文件存放路径entry-src-main-ets-model-JsonBean.ets。

JsonBean.ets:

export interface  JsonBean{
  name: string;
  area: string;
  age: string;
}
分享
微博
QQ
微信
回复
7天前
相关问题
HarmonyOS 如何将视频转换为GIF
105浏览 • 1回复 待解决
如何将时间戳转换为日期格式时间
3317浏览 • 1回复 待解决
HarmonyOS 如何将base64数据转换为图片
610浏览 • 1回复 待解决
如何将字符串转换为浮点数。
599浏览 • 1回复 待解决
如何将app.media.app_icon,转换为PixelMap
2156浏览 • 1回复 待解决
请问如何将openblock文件转换成exe文件
2407浏览 • 0回复 待解决
HarmonyOS 如何将图片压缩并转成base64
167浏览 • 1回复 待解决
如何将文件转换成字符串
523浏览 • 1回复 待解决
HarmonyOS如何将Component转换PixelMap?
486浏览 • 1回复 待解决