Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
e4de49b5
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
e4de49b5
编写于
6月 13, 2024
作者:
杜庆泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update json.md
上级
16c441f5
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
32 addition
and
0 deletion
+32
-0
docs/uts/buildin-object-api/json.md
docs/uts/buildin-object-api/json.md
+32
-0
未找到文件。
docs/uts/buildin-object-api/json.md
浏览文件 @
e4de49b5
...
...
@@ -149,3 +149,35 @@ console.log(JSON.stringify(new Date(2006, 0, 2, 15, 4, 5)));
<!-- UTSJSON.JSON.parseArray_1.compatibility -->
<!-- UTSJSON.JSON.tutorial -->
## 兼容性说明
从 HBuilder X 4.21 版本开始,JSON.parse 未指定类型泛型的情况下解析得到的 number 类型,不再是
`kotlin.Number`
而是
`UTSNumber`
类型。
对开发者影响在于:之前允许
`number`
类型使用
`as`
操作符进行数据类型转换,在4.21 之后版本,此行为会导致编译报错.
```
ts
let
jsonObject
=
JSON
.
parseObject
(
'
{"a":1}
'
)
;
let
b
:
Int
=
jsonObject
!
[
'
a
'
]
as
Int
console
.
log
(
b
)
```
上面这段代码,在HBuilder X 4.21之前版本是可以运行的,但是在 HBuilder X 4.21 之后版本会在编译阶段触发下面的报错:
```
error: java.lang.ClassCastException: io.dcloud.uts.UTSNumber cannot be cast to java.lang.Integer
```
如果需要数据类型转换,请使用
[
toXXX
](
https://doc.dcloud.net.cn/uni-app-x/uts/data-type.html#kotlin
)
替代,上面的代码可以替换为:
```
ts
let
jsonObject
=
JSON
.
parseObject
(
'
{"a":1}
'
)
;
let
b
:
Int
=
(
jsonObject
!
[
'
a
'
]
as
Number
).
toInt
()
console
.
log
(
b
)
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录