HarmonyOS 鸿蒙Next Json格式数据的Key包含 - 和 . 怎么解析

发布于 1周前 作者 phonegap100 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Json格式数据的Key包含 - 和 . 怎么解析

【关键字】

JSON格式 / ArkTS / Record<string,object>

【问题描述】

后台返回的JSON格式中包含-和. 原有是通过索引访问字段的方式 obj[xxx-xxx.yy]的方式获取,ArkTS严格语法后,无法调用。

【解决方案】

1、对应的value是一个string本身可通过Record类型来替代。

如下图所示操作:

cke_688.png

参考指南:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-more-cases-0000001774279594#ZH-CN_TOPIC_0000001811317882__arkts-no-indexed-signatures

2、如果对应的value不是一个string本身又是一个对象数组类似的嵌套查询。

首先:无法使用嵌套定义Record<string,Record>。

其次:

  1. 使用Record<string,Object>

  2. 处理JSON的三方库,可参考class-transformer。

Record<string,object> 如何遍历的参考代码如下:

let p: Record<string, string> = {
‘name’: ‘tom’,
‘age’: ‘18’
};
for (let ele of Object.entries§) {
console.log(ele[1])
} 

ArkTS语法规范参考:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/arkts-more-cases.md

1 回复

在HarmonyOS鸿蒙系统中,处理JSON格式数据时,如果Key中包含特殊字符如-(短横线)和.(点),标准的JSON解析库通常能够正常处理这些字符,因为它们都是合法的JSON Key字符。

JSON Key的标准字符集包括字母(a-z, A-Z)、数字(0-9)、以及一些特殊字符如_(下划线)、-(短横线)、:(冒号)、.(点)、[(左方括号)、](右方括号)、{(左大括号)、}(右大括号)、/(斜杠)、\~(波浪号)、`(反引号)、'(单引号)、"(双引号)和\(反斜杠,在转义序列中使用)。

因此,通常情况下,你不需要对包含-.的Key进行特殊处理,直接使用标准的JSON解析方法即可。例如,在Java中可以使用org.json库,在JavaScript中可以使用JSON.parse()方法,在C#中可以使用Json.NET库等。

确保你的JSON字符串格式正确,没有语法错误,然后直接使用相应的JSON解析库进行解析。

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

回到顶部