HarmonyOS鸿蒙Next中Json解析如何实现
HarmonyOS鸿蒙Next中Json解析如何实现
{
"refresh_token": "36c1454f082d8",
"code": 1,
"message": "success"
}
我如何拿到对应code参数里面的值?
如果定义一个类 用Json.parse() 的方法可以获取code值。
let testBean = JSON.parse(data.result.toString()) as TestBean;
console.log(testBean.code + testBean.message)
但是如何不定义类,怎么获取code的值。
类似java中的,可以获取指定参数的方法。
JSONObject jsonObject = new JSONObject(s);
jsonObject.optInt("code")
鸿蒙这样的话,不定义类,怎么获取?
百度了一下说用ZSONObject,都报错
ZSONObject jsonObject = ZSONObject.stringToJsonObject(jsonString);
String name = jsonObject.get("name").toString();
更多关于HarmonyOS鸿蒙Next中Json解析如何实现的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
let json = {
"refresh_token": "36c1454f082d8",
"code": 2,
"message": "success"
} as Record<string, string | number>
console.log(json.code.toString())
更多关于HarmonyOS鸿蒙Next中Json解析如何实现的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,推荐使用ArkTS的@ohos.util.parse
模块解析JSON。示例代码:
import parse from '@ohos.util.parse';
let jsonStr = '{"name":"HarmonyOS","version":4}';
let jsonObj = parse.parseJson(jsonStr);
console.log("解析结果:" + jsonObj.name); // 输出HarmonyOS
注意事项:
- 需在module.json5配置"requestPermissions": [“ohos.permission.INTERNET”](网络请求场景)
- 异常处理使用try-catch包裹parseJson操作,
在HarmonyOS Next中,可以使用内置的JSON解析API直接解析JSON字符串而不需要定义类。以下是两种实现方式:
- 使用JSON.parse()直接解析为对象:
let jsonStr = `{
"refresh_token": "36c1454f082d8",
"code": 1,
"message": "success"
}`;
let jsonObj = JSON.parse(jsonStr);
console.log(jsonObj.code); // 输出1
console.log(jsonObj.message); // 输出"success"
- 使用@ohos.util.JSON模块(API 9+):
import util from '[@ohos](/user/ohos).util';
let jsonStr = `{
"refresh_token": "36c1454f082d8",
"code": 1,
"message": "success"
}`;
let jsonObj = new util.JSON.parse(jsonStr);
console.log(jsonObj.code); // 输出1
``
这两种方式都不需要预先定义类结构,可以直接通过键名访问JSON中的值。对于你的示例JSON,使用`jsonObj.code`即可获取code参数的值。