递归火山软件开发平台

标题: yyjson问题 [打印本页]

作者: b0y    时间: 2023-10-13 10:35
标题: yyjson问题
本帖最后由 b0y 于 2023-10-13 10:37 编辑

为什么在一个循环里访问网页 返回的json数据 第一次可以正常解析 之后就不对了
  1. <火山程序 类型 = "通常" 版本 = 1 />
  2. 判断循环 (当前页 != 页数)
  3. {
  4.     data = 数据常量
  5. 结果 = http.网页访问 ("https://channels.weixin.qq.com/ec-mcn/cgi-bin/mmfindermcn-bin/head-supplier/square/getSquareFinderList", 网页访问方式.POST, data, 附加协议头, , , , , , , , )
  6.     调试输出 ("\r\n求情结果:", UTF8到文本 (结果.请求结果))
  7.     // yy.置对象数据 (字节集类.取空白字节集 (0))
  8.     结果.请求结果.删除字节集尾字符零 ()

  9.     如果 (yy.创建自字节集 (结果.请求结果))
  10.     {
  11.         // 调试输出 ("解析后可读文本:", yy.到可读文本 (YYJSON格式化选项.压缩))
  12.         调试输出 ("JSON解析errCode:", yy.取整数 ("errCode"))
  13.     }
  14. }
复制代码
  1. 正在启动被调试程序

  2. 求情结果:, {"data":{"finderList":[]},"errCode":-2,"errMsg":"","error":{"code":-2,"name":"LogicError","message":""}}
  3. JSON解析errCode:, -2

  4. 求情结果:, {"data":{"finderList":[]},"errCode":-2,"errMsg":"","error":{"code":-2,"name":"LogicError","message":""}}
  5. JSON解析errCode:, 0

  6. 求情结果:, {"data":{"finderList":[]},"errCode":-2,"errMsg":"","error":{"code":-2,"name":"LogicError","message":""}}
  7. JSON解析errCode:, 0

  8. 求情结果:, {"data":{"finderList":[]},"errCode":-2,"errMsg":"","error":{"code":-2,"name":"LogicError","message":""}}
  9. JSON解析errCode:, 0
复制代码





解析成功后 想到可读文本看一下解析的内容, 但是 // 调试输出 ("解析后可读文本:", yy.到可读文本 (YYJSON格式化选项.压缩))  这句如果取消注释
第一次可以解析成功  第二次就报错退出了.

  1. 求情结果:, {"data":{"finderList":[]},"errCode":-2,"errMsg":"","error":{"code":-2,"name":"LogicError","message":""}}
  2. 解析后可读文本:, {"data":{"finderList":[]},"errCode":-2,"errMsg":"","error":{"code":-2,"name":"LogicError","message":""}}
  3. JSON解析errCode:, -2

  4. 求情结果:, {"data":{"finderList":[]},"errCode":-2,"errMsg":"","error":{"code":-2,"name":"LogicError","message":""}}
  5. 运行时校验失败("D:\Program Files\voldev\plugins\vprj_win\classlib\sys\base\libs\win_base\include\_vol_str_class_impl.h", 234): IsValidStringSupportLenNeg1 ((ps), (npLen))
  6. 运行时校验失败("D:\Program Files\voldev\plugins\vprj_win\classlib\sys\base\libs\win_base\cpp\_vol_str_impl.cpp", 1344): IsValidStringSupportLenNeg1 ((ps), (npLen))
  7. 运行时校验失败("D:\Program Files\voldev\plugins\vprj_win\classlib\sys\base\libs\win_base\cpp\vol_functions.cpp", 630): IsValidStringSupportLenNeg1 ((psText), (npLength))
  8. 被调试程序已经退出,退出码为0xC0000005.
  9. 调试已经停止
复制代码







作者: 浪漫    时间: 2023-10-13 13:20
循环 的话 需要 清空数据,局_json.清空
作者: b0y    时间: 2023-10-13 13:27
浪漫 发表于 2023-10-13 13:20
循环 的话 需要 清空数据,局_json.清空

yyjson没有这个方法 我也找了类似清空的命令 没有找到
作者: b0y    时间: 2023-10-13 18:03
- -所以这是yyjson库的问题吗  怎么没人回答

易语言 也一直用yyjson 没遇到过这个问题啊
作者: 浪漫    时间: 2023-10-13 20:57
b0y 发表于 2023-10-13 13:27
yyjson没有这个方法 我也找了类似清空的命令 没有找到

你是不是选择到了 只读 去了
作者: 创世魂    时间: 2023-10-13 21:39
yyjson定义个局部变量试试。
作者: b0y    时间: 2023-10-13 22:34
创世魂 发表于 2023-10-13 21:39
yyjson定义个局部变量试试。

是局部变量 但是在循环外

我换官方json对象了...那个指定是有问题




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4