HarmonyOS 鸿蒙Next 接口返回:JSON串转Map,怎么实现?

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

HarmonyOS 鸿蒙Next 接口返回:JSON串转Map,怎么实现?

const str = "{
\"pageFlag\":\"home\",
\"pageId\":\"111\",
\"title\":\"\",
\"adname\":\"重庆市\",
\"adcode\":\"500000\",
\"serviceObject\":1}"
6 回复

Next可以使用eftool库

[@yunkss%2Feftool](https://ohpm.openharmony.cn/#/cn/detail/)

![](data-originheight=“743” data-originwidth=“796” src=“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==”)

更多关于HarmonyOS 鸿蒙Next 接口返回:JSON串转Map,怎么实现?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


您好,可以使用eftool三方库中的JSONObject.parse,转换完之后即是Map[@yunkss/eftool](https://ohpm.openharmony.cn/#/cn/detail/@yunkss%2Feftool)

API 11 这么写

cke_1101.png

@Entry
@Component
struct Page164 {
  @State message: string = 'Hello World';

  build() {
    Column() {
      Button('测试').onClick(() => {
        const correctedJsonString = `{"pageFlag":"home","pageId":"111","title":"","adname":"重庆市","adcode":"500000","serviceObject":1}`;
        let myMap: Map<string, string> = JSON.parse(correctedJsonString);
        Object.keys(myMap).forEach((key: string) => {
          console.log('myMap key=', key, 'value=', myMap[key]);
        })
      })
    }
    .width('100%')
    .height('100%')
  }
}

API 9 这么写

cke_220.png

@Entry
@Component
struct Page01 {
  build() {
    Column() {
      Button('测试').onClick(() => {
        const correctedJsonString = `{"pageFlag":"home","pageId":"111","title":"","adname":"重庆市","adcode":"500000","serviceObject":1}`;
        let jsonObj = JSON.parse(correctedJsonString);
        let myMap = new Map(Object.entries(jsonObj));
        for (const [k, v] of myMap) {
          console.log('myMap key=', k, 'value=', v);
        }
      })
    }
    .width('100%')
    .height('100%')
  }
}

在HarmonyOS(鸿蒙Next)中,将JSON字符串转换为Map可以通过JsonUtil类实现。JsonUtil是鸿蒙提供的一个工具类,专门用于处理JSON数据。以下是一个简单的示例代码:

import JsonUtil from '@ohos.util.JsonUtil';

let jsonString = '{"name": "HarmonyOS", "version": "3.0"}';
let jsonMap = JsonUtil.parseJson(jsonString);

console.log(jsonMap.get('name'));  // 输出: HarmonyOS
console.log(jsonMap.get('version'));  // 输出: 3.0

在这个示例中,JsonUtil.parseJson方法将JSON字符串解析为一个Map对象。你可以通过get方法获取Map中的值。

在HarmonyOS(鸿蒙Next)中,将JSON字符串转换为Map可以通过JsonUtil类实现。首先,使用JsonUtil.parseStringToMap方法将JSON字符串解析为Map<String, Object>。例如:

import ohos.utils.JsonUtil;

String jsonString = "{\"key1\":\"value1\", \"key2\":\"value2\"}";
Map<String, Object> map = JsonUtil.parseStringToMap(jsonString);

此方法会将JSON字符串解析为键值对形式的Map,方便后续操作。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!