我封了一个yyjson,命令和官方的一样,可以直接替换官方库,有解决这个问题 |
<火山程序 类型 = "通常" 版本 = 1 /> 变量 对象 <类型 = YYJSON对象类> 变量 数组 <类型 = YYJSON数组类> 如果 (来源对象 == 按钮1) { 计次循环 (3) { // 对象.清空 () 对象.重置对象内容 () 对象.加入文本成员 ("成员1", "这是成员1-" + 取随机字母数字 (10)) 对象.加入文本成员 ("成员2", "这是成员2-" + 取随机字母数字 (10)) 调试输出 ("以下输出循环内" + 到文本 (取循环索引 ()) + "对象文本\r\n" + 对象.到可读文本 () + "\r\n") // 数组.加入成员 (对象) 数组.缓存并加入成员 (对象) } 调试输出 ("以下输出数组文本\r\n" + 数组.到可读文本 ()) } 返回 (0) |
2608881662 发表于 2025-3-13 01:50 好像你写的也没毛病~~ |
2608881662 发表于 2025-3-13 01:54 啥也不用说,你删掉这行试试? |
落雪有声 发表于 2025-3-13 02:19 正解 ![]() |
官方的 yyjson 默认是引用指针(不复制数据),所以内容都一样,应该用「缓存并加入成员」。 但总的来说官方的不太好用,可以用我PIV模块里的 yyjson。 zyjson在论坛里应该就有,不过跟易语言不一样,是封装了 nlohmann/json,速度达不到第一梯队。 |
yyjson不适合合成数据。因为为了效率牺牲了很多东西,导致合成数据并不方便,一个对象用完之后就清理了。并不能再次使用了。 这个和yyjson的特性有关系,不算bug。 如果你想合成json数据就正常用 JSON对象类 和 JSON数组类 就行了。 |
我记得有个缓存并加入 |
没什么鱼 发表于 2025-3-13 01:44 因为我在循环内已经将这个对象加入到数组里了 所以要清空,给对象重新赋值 |
|Archiver|手机版|小黑屋|递归火山软件开发平台
( 鄂ICP备18029190号 )
GMT+8, 2025-4-3 21:31 , Processed in 0.090768 second(s), 22 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.