关于鸿蒙arkts解析json字符串问题
首先声明喔是小白,但是这个问题已经困扰我很久了,找了很多的资料,看了很多视频,都没能解决,一直卡在这里
同一段字符串,在typescript中运行是正常的,但是在arkts上面运行就是空,求解大神帮忙分析是什么问题
下面是本来的代码,就是简单的处理json字符串
let str='{"code":1,"msg":"\u6570\u636e\u5217\u8868","page":1,"pagecount":3116,"limit":20,"total":62316,"list":[{"vod_id":"61295","vod_name":"\u4f9d\u5170\u7070\u70ec","type_id":"17","type_name":"\u6cf0\u56fd\u5267","vod_en":"yilanhuijin","vod_time":"2024-12-31 16:06:01","vod_remarks":"\u66f4\u65b0\u81f316\u96c6","vod_play_from":"1080zyk"}]}'
let obj=JSON.parse(str) as object
console.log(obj['msg'])
我在DevEco Studio上面的代码是这样子的
export function dataManager(){
let str='{"code":1,"msg":"\u6570\u636e\u5217\u8868","page":1,"pagecount":3116,"limit":20,"total":62316,"list":[{"vod_id":"61295","vod_name":"\u4f9d\u5170\u7070\u70ec","type_id":"17","type_name":"\u6cf0\u56fd\u5267","vod_en":"yilanhuijin","vod_time":"2024-12-31 16:06:01","vod_remarks":"\u66f4\u65b0\u81f316\u96c6","vod_play_from":"1080zyk"}]}'
let obj=JSON.parse(str) as object
console.log(obj['msg'])
return "333"
}
但是运行结果是
01-01 09:37:37.557 26672-21324 A0c0d0/JSAPP W The json.parse interface in the Previewer is a mocked implementation and may behave differently than on a real device.
01-01 09:37:37.557 26672-21324 A0c0d0/JSAPP I undefined
01-01 09:38:17.327 26672-21324 A0c0d0/JSAPP W The json.parse interface in the Previewer is a mocked implementation and may behave differently than on a real device.
01-01 09:38:17.327 26672-21324 A0c0d0/JSAPP I undefined
01-01 09:38:41.391 3428-28256 A0c0d0/JSAPP W The json.parse interface in the Previewer is a mocked implementation and may behave differently than on a real device.
01-01 09:38:41.391 3428-28256 A0c0d0/JSAPP I undefined
我试着去定义接口
import { JSON } from '@kit.ArkTS';
interface vodDataInterface{
vod_id: string;
vod_name: string;
vod_remarks?: string;
vod_play_from?: string;
vod_play_url: string;
vod_actors?: string;
vod_director?: string;
vod_area?: string;
vod_year?: string;
vod_class?: string;
vod_duration?: string;
vod_content?: string;
vod_pic?: string;
vod_score?: string;
vod_play_note?: string;
vod_type?: string;
vod_status?: string;
}
interface httpDataInterface{
code: number;
msg: string;
page: number;
pagecount: number;
limit: number;
total: number;
list: Array<vodDataInterface>
}
export function dataManager(){
let str='{"code":1,"msg":"\u6570\u636e\u5217\u8868","page":1,"pagecount":3116,"limit":20,"total":62316,"list":[{"vod_id":"61295","vod_name":"\u4f9d\u5170\u7070\u70ec","type_id":"17","type_name":"\u6cf0\u56fd\u5267","vod_en":"yilanhuijin","vod_time":"2024-12-31 16:06:01","vod_remarks":"\u66f4\u65b0\u81f316\u96c6","vod_play_from":"1080zyk"}]}'
let obj=JSON.parse(str) as httpDataInterface
console.log(obj.msg)
return "333"
}
运行结果仍然是
01-01 09:54:00.245 17252-19888 A0c0d0/JSAPP W The json.parse interface in the Previewer is a mocked implementation and may behave differently than on a real device.
01-01 09:54:00.245 17252-19888 A0c0d0/JSAPP I undefined
但是在typescript中运行是正常的
到底是为什么呀,话说arkts不是typescript的超集吗?求大神帮忙分析一下
arkts
harmonyOS NEXT
json
赞
收藏 0
回答 1
待解决
相关问题
嵌套JSON字符串解析问题
2382浏览 • 1回复 待解决
HarmonyOS 超长JSON字符串解析
608浏览 • 2回复 待解决
如何解析JSON字符串?
1599浏览 • 1回复 待解决
HarmonyOS 服务端JSON字符串解析问题
848浏览 • 1回复 待解决
HarmonyOS 如何解析json字符串?
1090浏览 • 1回复 待解决
HarmonyOS ArkTS生成JSON字符串,在嵌套的情况下生成的JSON字符串有问题
459浏览 • 1回复 待解决
关于加密字符串相关问题
615浏览 • 1回复 待解决
ArkTS中,HashMap对象怎么转成 json字符串?
922浏览 • 1回复 待解决
HarmonyOS中如何解析JSON字符串为实例对象?
383浏览 • 0回复 待解决
HarmonyOS key中包含点的Json字符串怎么解析?
339浏览 • 2回复 待解决
HarmonyOS Json字符串在ArkTS中怎么单独把key和value拼接成字符串
174浏览 • 1回复 待解决
如何打印JSON对象和JSON字符串
700浏览 • 1回复 待解决
httqRequest的extraData中value中无法解析JSON字符串怎么处理?
7673浏览 • 1回复 待解决
HarmonyOS url里的字符串怎么解析
229浏览 • 1回复 待解决
如何实现Map转JSON字符串
1536浏览 • 1回复 待解决
HarmonyOS string.json 资源字符串常量拼接问题
369浏览 • 1回复 待解决
如何判断一个字符串是不是JSON字符串?
925浏览 • 1回复 待解决
HarmonyOS 关于json解析问题
296浏览 • 1回复 待解决
HarmonyOS字符串替换问题
1229浏览 • 1回复 待解决
HarmonyOS url.URLParams解析复杂字符串不对
135浏览 • 1回复 待解决
如何将对象转为JSON字符串?
883浏览 • 1回复 待解决
HarmonyOS 网络请求回来的Json字符串如何解析为实体类
221浏览 • 2回复 待解决
HarmonyOS 字符串编码问题
378浏览 • 1回复 待解决
HarmonyOS 替换字符串问题
516浏览 • 1回复 待解决
如何将JSON字符串转为Map
628浏览 • 1回复 待解决
没人回答,我自己回答了,经过我不断的摸索,发现只要删除引用的JSON就能解析了,你说神不神奇,也就是把这句话删掉
溯源发现JSON指向有三个函数,默认应该是第一个json函数,所以我觉得应该是arkts没做好规范,导致有多个同名函数冲突。不过删除掉引用之后有个默认值,默认的那个可以正常解析,那么我想问其他的两个是干什么用的?