HarmonyOS鸿蒙Next中Json解析相关问题

HarmonyOS鸿蒙Next中Json解析相关问题

数据:json:{"showedInfo":["aaa"],"time":"2024-10-28"}

调用:

```javascript
const data: PopupInfo = JsonUtil.fromJson(json) as PopupInfo || new PopupInfo("", [])

public static fromJson<R>(json: string): R | null {
  if (TextUtil.isEmpty(json)) {
    return null
  }
  let bean: R | null = null
  try {
    bean = JSONObject.parseObject<R>(json)
  } catch (e) {
  }
  return bean
}

类定义:

class PopupInfo {
time: string //取当天
showedInfo: Array<string> //已经展示过的数据

constructor(time: string, showedInfo: Array<string>) {
this.time = time
this.showedInfo = showedInfo
}
}

更多关于HarmonyOS鸿蒙Next中Json解析相关问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

参考如下方法:

function fromJson<R>(json: string): R | null {
  if (json.length == 0) {
    return null
  }
  let bean: R | null = null
  try {
    bean = JSON.parse(json)
  } catch (e) {
  }
  return bean
}
let jsonStr1 = '{"showedInfo":["key_1_9996","key_1_9997"],"time":"2024年9月27日"}'
let bean:PopupInfo = JSON.parse(jsonStr1)
console.debug("showedInfo00000 ==="+JSON.stringify(bean.showedInfo))
let bean1:PopupInfo = fromJson(jsonStr1) as PopupInfo || new PopupInfo("", [])
console.debug("showedInfo11111 ==="+JSON.stringify(bean1.showedInfo))

打印

09-29 10:32:31.560  19468-19468  A03D00/com.exa...ion0708/JSAPP  hisysevent      D   showedInfo00000 ===["key_1_9996","key_1_9997"]
09-29 10:32:31.560  19468-19468  A03D00/com.exa...ion0708/JSAPP  hisysevent      D   showedInfo11111 ===["key_1_9996","key_1_9997"]

更多关于HarmonyOS鸿蒙Next中Json解析相关问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,Json解析主要依赖于系统提供的@ohos.util模块中的JSON类。通过JSON.parse()方法可以将Json字符串解析为JavaScript对象,而JSON.stringify()方法可以将JavaScript对象转换为Json字符串。以下是一个简单的示例:

// 导入JSON模块
import JSON from '@ohos.util';

// Json字符串
let jsonString = '{"name":"HarmonyOS","version":"Next"}';

// 解析Json字符串为对象
let jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name); // 输出: HarmonyOS

// 将对象转换为Json字符串
let newJsonString = JSON.stringify(jsonObject);
console.log(newJsonString); // 输出: {"name":"HarmonyOS","version":"Next"}

在鸿蒙Next中,Json解析的API设计简洁,开发者无需引入额外的库即可完成Json数据的解析与序列化操作。

在HarmonyOS鸿蒙Next中,Json解析可以通过@ohos.util模块提供的JSON类来实现。常用方法包括:

  1. JSON.parse():将Json字符串解析为JavaScript对象。

    let jsonString = '{"name": "HarmonyOS", "version": 2.0}';
    let jsonObj = JSON.parse(jsonString);
    console.log(jsonObj.name); // 输出 "HarmonyOS"
    
  2. JSON.stringify():将JavaScript对象转换为Json字符串。

    let jsonObj = {name: "HarmonyOS", version: 2.0};
    let jsonString = JSON.stringify(jsonObj);
    console.log(jsonString); // 输出 '{"name":"HarmonyOS","version":2.0}'
    

注意事项:

  • 确保Json字符串格式正确,避免解析错误。
  • 处理复杂数据结构时,注意递归解析和异常处理。

这些方法适用于HarmonyOS应用中的Json数据处理需求。

回到顶部