HarmonyOS 鸿蒙Next关于JSON解析的问题

HarmonyOS 鸿蒙Next关于JSON解析的问题

刚踏入鸿蒙开发,ets文件内一段代码

如下:

const jsonText = '{“name”: “John”, “age”: 30, “city”: “ChongQing”}'
let obj = JSON.parse(jsonText)
let rst = JSON.has(obj, “age”)
console.info(“has name:”+rst)

打印结果如下:

W     The json.parse interface in the Previewer is a mocked implementation and may behave differently than on a real device.

W     The json.has interface in the Previewer is a mocked implementation and may behave differently than on a real device. 

has name:false

问题,为啥parse之后,拿到了一个object的对象。

如果把这个object对象再转回字符串,就变成一个空字符串了。

是我哪里出问题了吗?


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

5 回复

你的Deveco不是最新版吧?上面代码在我这边过不了类型检查

改成下面的可以

let jsonText: string = '{"name": "John", "age": 30, "city": "ChongQing"}'
let obj: ESObject = JSON.parse(jsonText);
console.info("====", obj.name)
console.info("====", JSON.stringify(obj))

输出:

==== {"name":"John","age":30,"city":"ChongQing"}

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


大佬,有没有快捷json生成bean的快捷方式

HarmonyOS的开发者模式提供了很多实用的工具,方便我们进行调试和优化。

针对HarmonyOS 鸿蒙Next关于JSON解析的问题,以下是一些专业的解答:

在HarmonyOS中,JSON解析通常涉及将JSON字符串转换为对象或将对象转换为JSON字符串。这可以通过多种方式实现,具体取决于你使用的编程语言和工具。

对于ArkTS,你可以使用内置的JSON模块。该模块提供了JSON.parse方法用于解析JSON字符串,以及JSON.stringify方法用于将对象转换为JSON字符串。此外,该模块还支持JSON.hasJSON.remove方法,用于检查对象是否包含某种属性以及从对象中删除属性。

对于原生鸿蒙OS开发,你可以使用ohos.utils.json.JSONObject类来解析JSON。你需要创建一个JSONObject实例,并调用其parse方法解析JSON字符串。之后,你可以使用getIntValuegetString等方法获取解析后的数据。

如果在开发过程中遇到JSON解析失败的问题,请检查以下几点:

  • JSON字符串的格式是否正确。
  • 是否使用了正确的解析方法和工具。
  • 如果是在预览器模式下开发,请尝试在模拟器或真机上运行,因为预览器可能不支持某些本地文件操作。

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

回到顶部