火山pc的yyjson的Bug
本帖最后由 路亦洲 于 2023-1-30 22:56 编辑请看下面图文:
http://ys-f.ysepan.com/308650221/014590932/jktU1Jr473642875IOKWb0/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230130221848.jpg各位大哥,请看这个bug用户组_Json YYJSON数组类
所有用户YYJSON对象类
用户信息 YYJSON对象类
文本_取中间_批量 (页面内容, "id : \"", "\"", openid组, , , , , , , )
文本_取中间_批量 (页面内容, "create_time : \"", "\"", create_time组, , , , , , , )
文本_取中间_批量 (页面内容, "nick_name : \"", "\"", nick_name组, , , , , , , )
(我确定这里取出的数据都是准确的)
列表数 = openid组.取成员数 ()
计次循环 (列表数)
用户信息.清空 ()
用户信息.加入文本成员 ("fakeID", openid组.取成员 (取循环索引 ()))
用户信息.加入文本成员 ("nickname", nick_name组.取成员 (取循环索引 ()))
用户组_Json.加入成员 (用户信息)
http://ys-f.ysepan.com/308650221/014590933/jktU1Jr473642875IOL5b1/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230130221921.jpg我这样写,本已经将对象传递到数组了,这时数组是不是每循环一次就增加一个成员,每次的数据都不一样,但是最却是只有“用户信息”的在循环的最后 一次的数据传给了数据,而且数据里的数据都是重复的同一组数据http://ys-f.ysepan.com/308650222/014590934/p665256754KNN2jktU1Jaa/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230130222049.jpg。结果如下:
{
"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.加入成员 (用户信息)
用户信息.清空 ()
我把“用户信息”的数据在循环尾清空,这时我已经把数据传递给了数组,最后结果是什么数据都没有,只剩下好些对“{}”!!http://ys-f.ysepan.com/308650220/014590929/s554481487JMLJjktU1Jdb/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230130215839.jpg这都什么设计?循环一次内存不就清零了吗?“用户信息”数据传递给了数组,我没操作数组,只对“用户信息”进行操作,怎么一次循环结束后还对别的数组产生影响了呢?还有更奇怪的是,如果不在循环头清除“用户信息”的数据,最后的有数组成员数的平方组都一样的数据。比如:openid组数组有10个成员,经过循环处理,加到yyjson后,“所有用户”的数组的100个成员,到底是模块的问题,还是火山平台的问题?
这不是bug,变量使用后就被释放了。yyjson为了效率牺牲了很多。。
合成json推荐直接用 json对象类 更方便 注意看命令的注释,这个yyjson的对象只能加入一次,多次被加入将导致成员值丢失或混乱
shuimiao 发表于 2023-1-31 11:07
谢谢!模块能在网上找到吗? 创世魂 发表于 2023-1-31 08:37
这不是bug,变量使用后就被释放了。yyjson为了效率牺牲了很多。。
合成json推荐直接用 json对象类 更方便 ...
json类对于多层级的json数据好不太好用 路亦洲 发表于 2023-1-31 14:13
谢谢!模块能在网上找到吗?
http://bbs.voldp.com/forum.php?mod=viewthread&tid=12536&highlight=%E6%B0%B4%E6%B7%BCjson 路亦洲 发表于 2023-1-31 14:13
谢谢!模块能在网上找到吗?
论坛有http://bbs.voldp.com/forum.php?mod=viewthread&tid=12536 shuimiao 发表于 2023-1-31 14:54
论坛有http://bbs.voldp.com/forum.php?mod=viewthread&tid=12536
谢谢!找到了!终于和易语言一样的调用了 shuimiao 发表于 2023-1-31 11:07
http://ys-n.ysepan.com/308650228/014591174/m7625663597N4LjktU1J17/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230131232839.jpg
大哥,请问是什么问题?
页:
[1]
2