HarmonyOS开发之JSON数据转Model

1,948 阅读1分钟

创建一个简单的鸿蒙应用(HarmonyOS app)示例,使用 ArkTS 来解析 JSON 数据并显示结果。这个示例将包括一个简单的界面,展示从 JSON 数据解析得到的信息。

  1. 定义模型: 在你的项目中,定义一个 TypeScript 模型来表示你的数据。例如,我们创建一个 Person 模型。

    // src/models/Person.ts
    export interface Person {
        name: string;
        age: number;
    }
    
  2. 创建界面: 在你的应用中创建一个简单的界面,用于展示数据。这个界面可以是一个简单的文本视图,显示人员信息。

    xmlCopy code
    <!-- entry/src/main/ets/MainAbility/MainAbilitySlice/MainAbilitySlice.ets -->
    @Entry
    @Component
    struct MainAbilitySlice {
        build() {
            Column() {
                Text(`Name: ${person.name}`)
                Text(`Age: ${person.age}`)
            }
        }
    }
    
  3. 解析 JSON 并展示数据: 解析JSON 字符串并使用这个数据来填充界面。

    // src/main/MainAbilitySlice.ts
    import { Person } from '../models/Person';
    
    @Entry
    @Component
    struct MainAbilitySlice {
        private person: Person;
    
        onPageShow() {
            this.parseJson();
        }
    
        private parseJson() {
            const jsonString = '{"name": "John Doe", "age": 30}';
            this.person = JSON.parse(jsonString);
        }
    
        build() {
            Column() {
                Text(`Name: ${this.person.name}`)
                Text(`Age: ${this.person.age}`)
            }
        }
    }
    

在这个简单的示例中,我们定义了一个 Person 接口来表示我们的数据模型,并在 MainAbilitySlice 类中创建了界面和解析逻辑。当应用启动时,它会解析一个硬编码的 JSON 字符串到 Person 对象,并在界面上显示这个人的姓名和年龄。

当然,实际项目中都会使用一些第三方框架来处理JSON数据转Model的工作,譬如iOS中的YYModel、Flutter中的FlutterJsonBeanFactory插件等,鸿蒙社区中也提供了fast_https_request供开发者使用。