开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 212|回复: 9
收起左侧

[已解决] 文本问题,有点不理解,有大佬给个思路吗

 关闭 [复制链接]
结帖率:84% (41/49)
发表于 昨天 13:21 | 显示全部楼层 |阅读模式   山东省*
50精币

.版本 2

.子程序 功能_网页访问, 文本型, , 本命令由【精易网页调试助手】生成,请配合精易模块使用。
.局部变量  局_网址, 文本型
.局部变量  局_方式, 整数型
.局部变量  ADD_协议头, 类_POST数据类
.局部变量  局_提交协议头, 文本型
.局部变量  局_是否重定向, 逻辑型
.局部变量  局_结果, 字节集
.局部变量  局_返回, 文本型
' http://api.ibongfa.com/api/game/wgbjgw/get/list/100
局_网址 = "http://api.ibongfa.com/api/game/wgbjgw/get/list/100"
局_方式 = 1
ADD_协议头.添加 ("Accept","application/json, text/plain, */*")
ADD_协议头.添加 ("Accept-Language","zh-CN,zh;q=0.9")
ADD_协议头.添加 ("Content-Length","0")
ADD_协议头.添加 ("Host","api.ibongfa.com")
ADD_协议头.添加 ("Origin","http://ibongfa.com")
ADD_协议头.添加 ("Proxy-Connection","keep-alive")
ADD_协议头.添加 ("Referer","http://ibongfa.com/select/game/game_host")
ADD_协议头.添加 ("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36")
ADD_协议头.添加 ("usertoken","dXNlcjoxMjcuMC4wLjE6Y2h1bnl1OjBmOGYxYzc2NTMzZTQ5MjM4MjIxYzI1YmI4NDdhZThl")

局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_是否重定向 = 真

局_结果 = 网页_访问_对象 (局_网址, 局_方式, , , , 局_提交协议头, , , 局_是否重定向, , , , , , , , )
局_返回 = 到文本(编码_编码转换对象(局_结果))
返回(局_返回)


.版本 2

    .计次循环首 (20, i)
        测试记录 = json.取属性 (“data[” + 到文本 (i - 1) + “]['room_id']”).取数据文本 ()
        ' 调试输出 (测试记录)
    .计次循环尾 ()



我应该在计次循环首怎么判断。2个连续的数字一样,然后跳出循环,怎么判断3个连续的和4个的不跳,只有2个跳出, 如果没有连续的一直循环,直到找到2连续一样的才跳出。


最佳答案

查看完整内容

你这个json每次读取的时候是会发生改变的. 你把它单独拿出来, 再看, 是没有问题的: [e=1].版本 2 .支持库 spec .子程序 __启动窗口_创建完毕 .局部变量 json, 类_json .局部变量 数, 整数型 .局部变量 当前, 文本型 .局部变量 数组, 文本型, , "0" .局部变量 数量, 整数型 .局部变量 值, 整数型 ' json.解析 (功能_网页访问 ()) 数组 = { “1”, “2”, “2”, “2”, “1”, “1”, “1”, “1”, “1” } 数 = 1 .判断循环首 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值

结帖率:100% (1/1)
发表于 昨天 13:21 | 显示全部楼层   浙江省温州市
你这个json每次读取的时候是会发生改变的.
你把它单独拿出来, 再看, 是没有问题的:
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
json类_json 
整数型 
当前文本型 
数组文本型0
数量整数型 
整数型 
' json.解析 (功能_网页访问 ())
数组 = { “1”, “2”, “2”, “2”, “1”, “1”, “1”, “1”, “1” }
数 = 1
判断循环首 (数 ≤ 取数组成员数 (数组))
当前 = 数组 []
数量 = 1
值 = 数 + 1
判断循环首 (值 ≤ 取数组成员数 (数组))
调试输出 (“!”, 当前, 数组 [])
如果 (数组 [] = 当前)
数量 = 数量 + 1
跳出循环 ()
值 = 值 + 1
判断循环尾 ()
调试输出 (数, 当前, 数量, 值)
如果真 (数量 = 2)
调试输出 (“存在俩个”, 当前)
跳出循环 ()
数 = 值
判断循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库

* “!” | “1” | “2”
* 1 | “1” | 1 | 2
* “!” | “2” | “2”
* “!” | “2” | “2”
* “!” | “2” | “1”
* 2 | “2” | 3 | 5
* “!” | “1” | “1”
* “!” | “1” | “1”
* “!” | “1” | “1”
* “!” | “1” | “1”
* 5 | “1” | 5 | 10
被调试易程序运行完毕
回复

使用道具 举报

结帖率:100% (3/3)

签到天数: 16 天

发表于 昨天 13:31 | 显示全部楼层   重庆市重庆市
  
子程序名返回值类型公开备 注
分析连续数据  
变量名类 型静态数组备 注
数组文本型0
i整数型 
j整数型 
总数整数型 
相同数量整数型 
当前数值文本型 
总数 = 20
重定义数组 (数组, 假, 总数)
计次循环首 (总数, i)
数组 [i] = json.取属性 (“data[”到文本 (i - 1)“]['room_id']”).取数据文本 ()
计次循环尾 ()
i = 1
判断循环首 (i ≤ 总数)
当前数值 = 数组 [i]
相同数量 = 1  ' 自己算1个
' 向后统计有多少个连续一样的
变量循环首 (i + 1, 总数, 1, j)
如果 (数组 [j] = 当前数值)
相同数量 = 相同数量 + 1
跳出循环 ()  ' 遇到不一样的,统计结束

变量循环尾 ()
' 判断结果
如果真 (相同数量 = 2)
调试输出 (“找到啦!连续2个相同,数值是:” + 当前数值)
' 这里写你需要的后续操作代码...
跳出循环 ()

i = i + 相同数量
判断循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库
回复

使用道具 举报

结帖率:84% (41/49)

签到天数: 11 天

 楼主| 发表于 昨天 13:36 | 显示全部楼层   山东省*
z573277679 发表于 2025-12-24 13:31
[e=4].版本 2
.支持库 spec

不能用啊老大啊

点评

.....你看演示示例吧,新发了一个,上面是逻辑思路,需要自己传入json数据   重庆市重庆市  发表于 昨天 13:42
回复

使用道具 举报

结帖率:100% (3/3)

签到天数: 16 天

发表于 昨天 13:39 | 显示全部楼层   重庆市重庆市
演示代码:
示例.png
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
模拟JSON数据文本型 
' 1. 构造一个测试用的 JSON 数据
' 为了演示效果,我故意设置了以下顺序:
' 100 -> 单个 (应跳过)
' 555 -> 3个连续 (应跳过)
' 666 -> 4个连续 (应跳过)
' 888 -> 2个连续 (这是我们要找的目标)
' 999 -> 单个
模拟JSON数据 = “{”#引号“data”#引号“:[”
模拟JSON数据 = 模拟JSON数据 + “{'room_id':'100'},”
模拟JSON数据 = 模拟JSON数据 + “{'room_id':'555'},{'room_id':'555'},{'room_id':'555'},”
模拟JSON数据 = 模拟JSON数据 + “{'room_id':'666'},{'room_id':'666'},{'room_id':'666'},{'room_id':'666'},”
模拟JSON数据 = 模拟JSON数据 + “{'room_id':'888'},{'room_id':'888'},”
模拟JSON数据 = 模拟JSON数据 + “{'room_id':'999'}”
模拟JSON数据 = 模拟JSON数据 + “]}”
' 调用处理子程序
处理连续数据 (模拟JSON数据)
子程序名返回值类型公开备 注
处理连续数据  
参数名类 型参考可空数组备 注
json文本文本型
变量名类 型静态数组备 注
json类_json 
数组文本型0
总数整数型 
i整数型 
j整数型 
当前ID文本型 
相同数量整数型 
' 解析 JSON ---
json.解析 (json文本)
总数 = json.成员数 (“data”)
' 先把数据读入数组,方便快速操作(避免频繁调用json对象,提高速度)
重定义数组 (数组, 假, 总数)
计次循环首 (总数, i)
数组 [i] = json.取通用属性 (“data[”到文本 (i - 1)“].room_id”)
计次循环尾 ()
调试输出 (“=== 开始分析数据,总数:”到文本 (总数)“ ===”)
' 核心逻辑开始:使用判断循环以便手动控制 i 的跳跃 ---
i = 1
判断循环首 (i ≤ 总数)
当前ID = 数组 [i]
相同数量 = 1  ' 自身算一个
' 向后看,统计有多少个跟自己一样的
变量循环首 (i + 1, 总数, 1, j)
如果 (数组 [j] = 当前ID)
相同数量 = 相同数量 + 1
跳出循环 ()  ' 遇到不一样的,统计结束

变量循环尾 ()
' 输出调试信息
调试输出 (“数字 [” + 当前ID + “] 连续出现了 ”到文本 (相同数量)“ 次”)
' 判断条件 ---
如果 (相同数量 = 2)
调试输出 (“★ 成功找到!连续2个相同的数字是:” + 当前ID)
调试输出 (“>>> 跳出循环,不再往后找了”)
跳出循环 ()  ' 【关键】找到了就彻底结束整个任务

' 如果是 3个、4个 1个,都不符合,什么都不做

' 比如当前是3个555,如果不跳跃,下次循环会判断第2个555,那就乱了。
' 直接 i + 相同数量,下次循环就会从“这一堆相同数字”后面的那个新数字开始
i = i + 相同数量
判断循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库
回复

使用道具 举报

结帖率:100% (1/1)
发表于 昨天 13:58 | 显示全部楼层   浙江省温州市
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
功能_网页访问文本型 本命令由【精易网页调试助手】生成,请配合精易模块使用。
变量名类 型静态数组备 注
局_网址文本型 
局_方式整数型 
ADD_协议头类_POST数据类 
局_提交协议头文本型 
局_是否重定向逻辑型 
局_结果字节集 
局_返回文本型 
' [url]http://api.ibongfa.com/api/game/wgbjgw/get/list/100[/url]
局_网址 = “http:/”“/api.ibongfa.com/api/game/wgbjgw/get/list/100”
局_方式 = 1
ADD_协议头.添加 (“usertoken”, “dXNlcjoxMjcuMC4wLjE6Y2h1bnl1OjBmOGYxYzc2NTMzZTQ5MjM4MjIxYzI1YmI4NDdhZThl”)
局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_是否重定向 = 真
局_结果 = 网页_访问_对象 (局_网址, 局_方式, , , , 局_提交协议头, , , 局_是否重定向, , , , , , , , )
局_返回 = 到文本 (编码_编码转换对象 (局_结果))
返回 (局_返回)
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
json类_json 
整数型 
当前文本型 
数组文本型0
数量整数型 
整数型 
json.解析 (功能_网页访问 ())
数 = 1
判断循环首 (数 ≤ json.成员数 (“data”))
当前 = json.取通用属性 (“data[”到文本 (数 - 1)“]['room_id']”)
数量 = 1
值 = 数 + 1
判断循环首 (值 ≤ json.成员数 (“data”))
调试输出 (“!”, 当前, json.取通用属性 (“data[”到文本 (值 - 1)“]['room_id']”))
如果 (json.取通用属性 (“data[”到文本 (值 - 1)“]['room_id']”) = 当前)
数量 = 数量 + 1
跳出循环 ()
值 = 值 + 1
判断循环尾 ()
调试输出 (数, 当前, 数量, 值)
如果真 (数量 = 2)
调试输出 (“存在俩个”, 当前)
跳出循环 ()
数 = 值
判断循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库

* “!” | “2” | “1”
* 1 | “2” | 1 | 2
* “!” | “1” | “2”
* 2 | “1” | 1 | 3
* “!” | “2” | “1”
* 3 | “2” | 1 | 4
* “!” | “1” | “2”
* 4 | “1” | 1 | 5
* “!” | “2” | “1”
* 5 | “2” | 1 | 6
* “!” | “1” | “1”
* “!” | “1” | “2”
* 6 | “1” | 2 | 8
* “存在俩个” | “1”
被调试易程序运行完毕
回复

使用道具 举报

结帖率:84% (41/49)

签到天数: 11 天

 楼主| 发表于 昨天 14:11 | 显示全部楼层   山东省*
zainex 发表于 2025-12-24 13:58
[e=1].版本 2
.支持库 spec

是的判断有问题的, 出现这样的还是判断为存在2个,不应该不存在的吗

“2”
* “1”
* “2”
* “2”
* “2”
* “1”
* “1”
* “1”
* “1”
* “1”
回复

使用道具 举报

结帖率:78% (18/23)

签到天数: 1 天

发表于 昨天 14:11 | 显示全部楼层   浙江省嘉兴市
没有2,怎么有3、4
回复

使用道具 举报

结帖率:84% (41/49)

签到天数: 11 天

 楼主| 发表于 昨天 14:15 | 显示全部楼层   山东省*
走一回 发表于 2025-12-24 14:11
没有2,怎么有3、4

连续的2222这个为4 连续222为3,连续22跳出循环如果找不到一直循环
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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