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

发布于 1周前 作者 vueper 来自 鸿蒙OS

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

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

3 回复

将本地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

更多关于HarmonyOS 鸿蒙Next 如何将工程里的json文件读取出来并转换为jsonBean的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


找个工具把json文件里面的数据转成字符串,通过JSON.parse() as 实体,这样就可以访问里面的数据了。

在HarmonyOS鸿蒙Next中,你可以通过以下步骤将工程中的JSON文件读取出来并转换为JSONBean。

  1. 读取文件内容: 使用FileIo类读取JSON文件内容。确保文件路径正确,并处理可能的IO异常。

    FileIo fileIo = FileIo.get(context, "path/to/your/file.json");
    String jsonContent = null;
    try {
        fileIo.open(FileIo.Mode.READ_ONLY);
        jsonContent = fileIo.readString();
        fileIo.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    
  2. 转换为JSONBean: 使用第三方JSON库(如Gson或Fastjson)将字符串转换为Java对象。

    Gson gson = new Gson();
    JSONBean jsonBean = gson.fromJson(jsonContent, JSONBean.class);
    

    注意,JSONBean需要是一个与JSON文件结构匹配的Java类。

以上代码假设你已经有一个JSONBean类,并且其结构与JSON文件匹配。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部