递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 5829|回复: 14
打印 上一主题 下一主题

[视窗] 火山pc的yyjson的Bug

[复制链接]

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
跳转到指定楼层
楼主
发表于 2023-1-30 22:44:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 路亦洲 于 2023-1-30 22:56 编辑

请看下面图文:
各位大哥,请看这个bug用户组_Json   YYJSON数组类
所有用户  YYJSON对象类
用户信息    YYJSON对象类

文本_取中间_批量 (页面内容, "id : \"", "\"", openid组, , , , , , , )
文本_取中间_批量 (页面内容, "create_time : \"", "\"", create_time组, , , , , , , )
文本_取中间_批量 (页面内容, "nick_name : \"", "\"", nick_name组, , , , , , , )
(我确定这里取出的数据都是准确的)
列表数 = openid组.取成员数 ()
计次循环 (列表数)
  用户信息.清空 ()
  用户信息.加入文本成员 ("fakeID", openid组.取成员 (取循环索引 ()))
  用户信息.加入文本成员 ("nickname", nick_name组.取成员 (取循环索引 ()))
  用户组_Json.加入成员 (用户信息)
我这样写,本已经将对象传递到数组了,这时数组是不是每循环一次就增加一个成员,每次的数据都不一样,但是最却是只有“用户信息”的在循环的最后 一次的数据传给了数据,而且数据里的数据都是重复的同一组数据。结果如下:
{
    "Users": [
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        },
        {
            "fakeID": "oM0vZsuVkc8Vh82Wbe_kYac69cDk",
            "nickname": "庄稼"
        }
    ]
}

但是,如果我按下面代码写:
计次循环 (列表数)
  用户信息.加入文本成员 ("fakeID", openid组.取成员 (取循环索引 ()))
  用户信息.加入文本成员 ("nickname", nick_name组.取成员 (取循环索引 ()))
  用户组_Json.加入成员 (用户信息)

  用户信息.清空 ()
我把“用户信息”的数据在循环尾清空,这时我已经把数据传递给了数组,最后结果是什么数据都没有,只剩下好些对“{}”!!这都什么设计?循环一次内存不就清零了吗?“用户信息”数据传递给了数组,我没操作数组,只对“用户信息”进行操作,怎么一次循环结束后还对别的数组产生影响了呢?还有更奇怪的是,如果不在循环头清除“用户信息”的数据,最后的有数组成员数的平方组都一样的数据。比如:openid组数组有10个成员,经过循环处理,加到yyjson后,“所有用户”的数组的100个成员,到底是模块的问题,还是火山平台的问题?
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40595
沙发
发表于 2023-1-31 08:37:53 | 只看该作者
这不是bug,变量使用后就被释放了。yyjson为了效率牺牲了很多。。

合成json推荐直接用 json对象类 更方便
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

26

主题

1904

帖子

6941

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6941
板凳
发表于 2023-1-31 09:56:32 | 只看该作者
注意看命令的注释,这个yyjson的对象只能加入一次,多次被加入将导致成员值丢失或混乱
回复

使用道具 举报

411

主题

2518

帖子

8304

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8304
地板
发表于 2023-1-31 11:07:07 | 只看该作者




json抽取合成.v (11.39 KB, 下载次数: 2)
回复

使用道具 举报

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
5#
 楼主| 发表于 2023-1-31 14:13:13 | 只看该作者

谢谢!模块能在网上找到吗?
回复

使用道具 举报

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
6#
 楼主| 发表于 2023-1-31 14:22:37 | 只看该作者
创世魂 发表于 2023-1-31 08:37
这不是bug,变量使用后就被释放了。yyjson为了效率牺牲了很多。。

合成json推荐直接用 json对象类 更方便 ...

json类对于多层级的json数据好不太好用
回复

使用道具 举报

411

主题

2518

帖子

8304

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8304
7#
发表于 2023-1-31 14:53:44 | 只看该作者
回复

使用道具 举报

411

主题

2518

帖子

8304

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8304
8#
发表于 2023-1-31 14:54:26 | 只看该作者
回复

使用道具 举报

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
9#
 楼主| 发表于 2023-1-31 15:15:47 | 只看该作者
shuimiao 发表于 2023-1-31 14:54
论坛有http://bbs.voldp.com/forum.php?mod=viewthread&tid=12536

谢谢!找到了!终于和易语言一样的调用了
回复

使用道具 举报

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
10#
 楼主| 发表于 2023-1-31 23:33:22 | 只看该作者


大哥,请问是什么问题?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-28 07:41 , Processed in 0.094262 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表