落雪有声 发表于 2025-3-13 02:19:06

我记得有个缓存并加入

创世魂 发表于 2025-3-13 08:42:56

yyjson不适合合成数据。因为为了效率牺牲了很多东西,导致合成数据并不方便,一个对象用完之后就清理了。并不能再次使用了。

这个和yyjson的特性有关系,不算bug。


如果你想合成json数据就正常用   JSON对象类和 JSON数组类 就行了。

Xelloss0618 发表于 2025-3-13 08:45:15

官方的 yyjson 默认是引用指针(不复制数据),所以内容都一样,应该用「缓存并加入成员」。
但总的来说官方的不太好用,可以用我PIV模块里的 yyjson。
zyjson在论坛里应该就有,不过跟易语言不一样,是封装了 nlohmann/json,速度达不到第一梯队。

兵三进一 发表于 2025-3-13 09:10:23

落雪有声 发表于 2025-3-13 02:19
我记得有个缓存并加入

正解:)

没什么鱼 发表于 2025-3-13 09:16:30

2608881662 发表于 2025-3-13 01:54
因为我在循环内已经将这个对象加入到数组里了   所以要清空,给对象重新赋值
...

啥也不用说,你删掉这行试试?

没什么鱼 发表于 2025-3-13 09:18:13

2608881662 发表于 2025-3-13 01:50
在循环内我每次循环开始的时候清空对象,循环结束的时候用这个对象,没毛病吧
...

好像你写的也没毛病~~

兵三进一 发表于 2025-3-13 10:34:43

<火山程序 类型 = "通常" 版本 = 1 />

变量 对象 <类型 = YYJSON对象类>
变量 数组 <类型 = YYJSON数组类>
如果 (来源对象 == 按钮1)
{
    计次循环 (3)
    {
      // 对象.清空 ()
      对象.重置对象内容 ()
      对象.加入文本成员 ("成员1", "这是成员1-" + 取随机字母数字 (10))
      对象.加入文本成员 ("成员2", "这是成员2-" + 取随机字母数字 (10))
      调试输出 ("以下输出循环内" + 到文本 (取循环索引 ()) + "对象文本\r\n" + 对象.到可读文本 () + "\r\n")
      // 数组.加入成员 (对象)
      数组.缓存并加入成员 (对象)
    }
    调试输出 ("以下输出数组文本\r\n" + 数组.到可读文本 ())
}
返回 (0)

aixunsoft 发表于 2025-3-15 21:27:00

我封了一个yyjson,命令和官方的一样,可以直接替换官方库,有解决这个问题
页: 1 [2]
查看完整版本: 火山yyjson有大bug!求修复!或有无其他的json库分享 如zyjson