Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
Hello UTS
提交
4f243816
H
Hello UTS
项目概览
DCloud
/
Hello UTS
通知
1598
Star
27
Fork
9
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
Hello UTS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
4f243816
编写于
9月 20, 2023
作者:
杜庆泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add json stringify
上级
7f15cddb
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
1 deletion
+43
-1
uni_modules/uts-tests/utssdk/JSON.uts
uni_modules/uts-tests/utssdk/JSON.uts
+43
-1
未找到文件。
uni_modules/uts-tests/utssdk/JSON.uts
浏览文件 @
4f243816
...
...
@@ -196,11 +196,53 @@ export function testJSON() : Result {
expect(JSON.stringify(Math.PI)).toEqual('3.141592653589793');
expect(JSON.stringify(Math.E)).toEqual('2.718281828459045');
/**
* add since 2023-09-23
* 部分出错过的示例场景
*/
const arr = [{
"$method": "collection",
"$param": ["type"] as Array<any>,
}, {
"$method": "add",
"$param": [
[{
"num": 2,
"tag": "default-tag",
} as UTSJSONObject, {
"num": 3,
"tag": "default-tag",
} as UTSJSONObject] as Array<UTSJSONObject>,
] as Array<any>,
}] as Array<UTSJSONObject>
let ret = JSON.stringify({
$db: arr
})
expect(ret).toEqual('{"$db":[{"$method":"collection","$param":["type"]},{"$method":"add","$param":[[{"num":2,"tag":"default-tag"},{"num":3,"tag":"default-tag"}]]}]}')
type Msg = {
id: string,
method: string,
params: any
}
type CallUniMethodParams = {
method : string
args : com.alibaba.fastjson.JSONArray
}
const msg = `{"id":"6fd6ca73-c313-48ac-ad30-87ff4eba2be8","method":"App.callUniMethod","params":{"method":"reLaunch","args":[{"url":"/pages/index/index"}]}}`
const jsonRet2 = JSON.parse<Msg>(msg)!
const paramsStr = JSON.stringify(jsonRet2.params)
expect(paramsStr).toEqual('{"args":[{"url":"/pages/index/index"}],"method":"reLaunch"}')
const params = JSON.parse<CallUniMethodParams>(paramsStr)!
console.warn('params', JSON.stringify(params))
expect(JSON.stringify(params)).toEqual('{"args":[{"url":"/pages/index/index"}],"method":"reLaunch"}')
})
test('invalidField', () => {
let str = "{\"a+b\":\"test1\",\"a-b\":2,\"class\":true}"
let str = "{\"a+b\"
:\"test1\",\"a-b\":2,\"class\":true}"
let p = JSON.parseObject<PersonJSON>(str)
expect(p?._class).toEqual(true)
expect(p?.a_b).toEqual("test1")
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录