开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 71|回复: 1
打印 上一主题 下一主题
收起左侧

[易语言] 帮忙看看 这个杂解~ ~~

[复制链接]
结帖率:88% (23/26)
跳转到指定楼层
楼主
发表于 2025-7-13 15:51:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   湖南省邵阳市
15精币
[
        {
                "Type": "Varint",
                "path": "[0].value",
                "tag": 0,
                "value": "10"
        },
        {
                "Type": "Varint",
                "path": "[1].value",
                "tag": 0,
                "value": "102"
        },
        {
                "Type": "Varint",
                "path": "[2].value",
                "tag": 0,
                "value": "0"
        },
        {
                "Type": "Varint",
                "path": "[3].value",
                "tag": 0,
                "value": "0"
        },
        {
                "Type": "Varint",
                "path": "[4].value",
                "tag": 0,
                "value": "0"
        },
        {
                "Type": "Varint",
                "path": "[5].value",
                "tag": 0,
                "value": "0"
        },
        {
                "Type": "Varint",
                "path": "[6].value",
                "tag": 0,
                "value": "0"
        },
        {
                "Type": "Group",
                "tag": 0,
                "value": [
                        {
                                "Type": "Group",
                                "tag": 259,
                                "value": [
                                        {
                                                "Type": "Fixed64",
                                                "path": "[7].[0].[0].value",
                                                "tag": 0,
                                                "value": 4.887072283106295e-85
                                        },
                                        {
                                                "Type": "Fixed32",
                                                "path": "[7].[0].[1].value",
                                                "tag": 13,
                                                "value": 7.213749e+22
                                        },
                                        {
                                                "Type": "Varint",
                                                "path": "[7].[0].[2].value",
                                                "tag": 13,
                                                "value": "18446744072732813594"
                                        },
                                        {
                                                "Type": "StringRaw",
                                                "note": "\u001f\ufffd\u0008\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ufffdW?\ufffdF\u0010Enq\ufffd\\\u000c\ufffd2?\u000f9PF/\ufffdM7J\ufffd\ufffd\ufffdv\ufffd\u0019?m\r\u0008\ufffd?\ufffd\u0006.\ufffd\u000c\u0006:\ufffdS\ufffd/q\ufffdZ?\ufffd(q\u0012\u00041\u0005\ufffd\ufffd\ufffd\ufffdW\ufffd\ufffd^\ufffd\ufffd/\ufffd\ufffd\ufffd\ufffdo(\ufffd\u001cK\ufffd\u003c-4'\ufffd\u0012\ufffdarr\ufffdP:\r.\u0002\ufffd\u0013\ufffdmzv0?\ufffdB\ufffd=\ufffd}Eu\ufffd\ufffd\ufffd\u0019\ufffd\ufffd\ufffd\ufffd\rJLY\ufffd3\ufffdU?A}\u0014GW\ufffd+\ufffd\u001fWQb\ufffd\ufffd??\ufffd\u0010YKORμh\nqJ\t\ufffd4dWTq\ufffd\ufffdR\u0010\ufffd\ufffd\ufffd\ufffdK\ufffd8.Q\ufffdHN!@q-m\ufffd?\ufffd\ufffd\ufffd\ufffd\ufffd7K4?\r\ufffdY\ufffdM\ufffd\ufffd\ufffd\ufffd\n\ufffd\ufffd\ufffd\u000e\u0011\ufffdb\ufffdB} \ufffd\ufffdI`\n\ufffd?k \ufffd\ufffd\ufffd\u0016?\ufffd~?1\ufffd\ufffdKǔZ\r\u001c\u0002\ufffd\u001eR\ufffdH\u003c@\ufffd\ufffd+\u0008\ufffd`\ufffdr4\u0015\ufffd\ufffdu?\ufffd%U\ufffd5\u001a\u0000\ufffd=\u001a8\ufffdZp\ufffd;q\ufffd\ufffdC\ufffd\u000f\ufffd?\ufffd\r\u001eq?\ufffd\ufffd?\ufffd\u0007\ufffd\u0004\ufffd-=W\ufffdG\u0000\ufffds\ufffd\ufffdG\ufffd\ufffd\u001e4\ufffd\u0003К\ufffdp\ufffdZi\ufffd\ufffd~\ufffd\u0000\ufffd=`\ufffd8_X(\ufffd\ufffd\ufffd\ufffdL\ufffdr\ufffd\ufffd\ufffdTT\ufffd\ufffdQaS\ufffdY\ufffdx\ufffdF\u0026s/\ufffd\u0000\ufffd\u001c\ufffd(S\u0002\u0013С\"\ufffdIt\ufffd\u001e\ufffd+\u0013\ufffdz\ufffd?\ufffd:\u0007\ufffd\ufffdY^\ufffd\ufffd\ufffdj??#\ufffdF\ufffd\ufffdS\ufffd\ufffd\u0014\ufffd\ufffd\ufffd#?y\ufffdā\ufffd\ts\ufffd}\ufffdf\ufffdV\ufffdLP\ufffd]\ufffd\u0004Y\u0013\ufffd\ufffdUt\u0015U\ufffdmA\u0010K\ufffd\u0006ke~\ufffd? \u000c,\u001a\ufffdi\ufffd6\ufffd\ufffd\ufffd\ufffd\ufffdz\ufffd\ufffdm\u0004P\ufffd\u0010\ufffd\u0017\ufffd\u001f;F[\t-0;\ufffd\ufffd\ufffd\ufffdc\u003cb\ufffds[3\ufffd\ufffd`\ufffd_\ufffd\ufffd\ufffd\u0013Ly\ufffd\ufffdL\ufffd}\ufffd\ufffdS\ufffd\u0013M\ufffdp\ufffdW\ufffd7\ufffd\u0005\ufffd\ufffdV6\ufffd\ufffd\rd'\ufffdV{{\ufffd\u0015%\ufffdV\ufffdX\ufffd\ufffd\ufffd\ufffdE\ufffd\u0015p\ufffd!'\ufffd\u001d\ufffdu\ufffd`\ufffd\ufffdY\ufffd\u0015@\ufffd\u001d\ufffdg\ufffd\ufffd}й\ufffd\u0002?\ufffd\ufffd\u0015Y\ufffdN\ufffd\u0011\ufffd?V~\u000bMM\ufffdG\ufffd\ufffd*\ufffd%?\ufffd5\ufffd4+\u0012\ufffd\u0019K\u0017YZm\u0001\ufffd#\ufffd\ufffd\ufffd?Yk\u001f\ufffdJ\ufffd[v\ufffd\ufffd\u001f2\ufffd\\\ufffd\u0006{)X,\u0006\ufffd\ufffd\ufffd\ufffd\ufffd:n\u001b\ufffd\ufffd\ufffd\ufffd}h?\ufffd\u0003|\u0008\ufffd\ufffd\ufffd\ufffd\ufffd\u003c\u001d|\ufffd\ufffd\r\u001f!\u0005od\ufffd\u0004Z\ufffd\ufffd\ufffd%\ufffd\ufffdM\ufffd\ufffd\ufffd\ufffdq\ufffd\u0015\u0026\ufffdA\u001f\ufffd(\ufffd\ufffd?\u000fK\ufffd\ufffdQ\n.\ufffd\ufffd\u001fN\ufffd\n~\ufffd\ufffd\ufffd\r\ufffd\ufffdg\ufffd\ufffd\ufffd\u001d\ufffd\ufffd`O\u001e9\ufffd\ufffdя\ufffd\u0003\ufffd\u0016M\ufffd\ufffdU\ufffd\ufffd\u0002%x\ufffd\ufffd\u0007\ufffd\ufffd\u0014S\ufffd\u003e\ufffd\ufffdK\ufffd\ufffd\ufffd\ufffd\"\ufffdJ`g\ufffd?\ufffd\ufffdy\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdw\ufffds[\u000c\ufffd\u0011{\ufffd\ufffd?\u0012\ufffd\u001ak\ufffd\ufffd~AO\ufffd\ufffd\u0003\ufffd\ufffd\ufffd^\ufffd/\ufffd?w\ufffd\u0012\ufffd\ufffd\u0001\ufffdL\u0018z\ufffd\r\u0000\u0000",
                                                "path": "[7].[0].[3].value",
                                                "tag": 10,
                                                "value": "H4sIAAAAAAAAAO1XyY7bRhBFbnGAXAzkMse2DzlQRi/sTTdKlLzEduAZ24ltDQiS6pGI4QYukwwGOuRTky9xkVrHopwocRIEMQW0gKrqV6+6XpeoL3/57c7dbyimHEvCPC00J4IS4WFycp9QOg0uAtYTgW16djDFveBC+T3CfUV1gLX2Gfr15N0NSkxZ+jPjVde5QX0UR1fGK4wfV1FivLLyq6isohBZS09SzrxoCnFKCcE0ZFdUcam0UhCS1+XcS6I4LlGfSE4hQHEtbdvapJn6lY/6N0s0Pw3nWeFNy8LLwwr1ubQOEfBi+EJ9IJzWSWAK78qPayCsmeIW2oalftKUMamlS8eTWg0cAqseUrBIPEC7sSsI1GDccjQVkoV104XLJVWANRoAuj0aOJNacIk7canYQ7UPoMqh0g0ecT+C19uD4wfgBKctPVe1RwDFc8b5R6DZHjT9A9CauHC6Wmm3u376AJM9YLY4X1gonJvw0ky9cp79tFRUp5JRw6JTolmWePNGJnMvzQDbHJQoUwIT0KEix0l0hR6bKxO3evjLpMs6B+XmWV7nh9lqxpXkgrAj2Uaz+VP/2hSvirgj34N5lcSAuAlz233oZoJW1UxQf9JdzwRZE+SHVXQVVddtQRBLhQZrZX6u2o0gDCwanWnsNvLAzcXQetjubQRQlxCHF+gfO0ZbCS0wO7bp/59jPGLKc1szpqRg8l+b8vITTHn5t0z5fdTPU/4TTflw7le/N94Fw9JWNtV/5g1kJ8FWe3ueFSWTVqZY89j150WUFXCpISfGHf51ymDmhVmcFUDuHbpnu7h90LmFAj+8nBVZnU6XEZDtnq1WfgtNTeVHsbcqoSXZjIw1sTQrEr8ZSxdZWm0BxiOHtK3ZmllrH7tKslt2uowfMtpcngZ7KVgsBtD6kabtOm4btZu5zH1ozYfWA3wIh4/o4tM8HXzW9g0fIQVvZKkEWsCp1SWMiE3b6vbqcYoVJphBH9IovNzevQ9Lge1RCi7n+x9O3wp++oidDZ3XZ4+fjh33iWBPHjnew9GPrgOZFk2Bn1Wx6QIleLn+B/TAFFPwPtX8S7ilh50i1kpgZ8/ejJ69efvi9Pn49dl39nNbDJ0Re/zwxY4Sjhpr599+QU++ugOjsahewi/d3a93hhKX7wG1TBh6ww0AAA=="
                                        },
                                        {
                                                "Type": "Varint",
                                                "path": "[7].[0].[4].value",
                                                "tag": 14,
                                                "value": "1"
                                        },
                                        {
                                                "Type": "Varint",
                                                "path": "[7].[0].[5].value",
                                                "tag": 12,
                                                "value": "7526470004296076085"
                                        },
                                        {
                                                "Type": "Varint",
                                                "path": "[7].[0].[6].value",
                                                "tag": 6,
                                                "value": "1"
                                        }
                                ]
                        }
                ]
        }
]


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:96% (47/49)

签到天数: 6 天

沙发
发表于 昨天 20:08 | 只看该作者   河北省秦皇岛市
将需要解析的JSON文件命名为data.json放在程序目录下,文件编码建议使用UTF-8

  
数据类型名公开备 注
协议字段 
成员名类 型传址数组备 注
Type文本型  
path文本型  
tag整数型  
value文本型  
note文本型  
子成员协议字段 0

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
json数据文本型 
解析结果协议字段0
' 1. 读取JSON文件
json数据 = 读入文本文件 ("data.json")
' 2. 解析JSON数据
如果 (解析JSON数据 (json数据, 解析结果))
' 3. 显示解析结果
格式化输出 (解析结果)
' 4. 保存结果
写到文件 (取运行目录 () + "\解析结果.txt", 到字节集 (编辑框1.内容))
信息框 ("解析完成,结果已保存", 0, "完成", )
信息框 ("JSON解析失败", 0, "错误", )

子程序名返回值类型公开备 注
解析JSON数据逻辑型 
参数名类 型参考可空数组备 注
json文本文本型
解析结果协议字段
变量名类 型静态数组备 注
json类_json 
i整数型 
清除数组 (解析结果)
' 修复JSON格式
json文本 = 子文本替换 (json文本, 字符 (10), "", , , )
json文本 = 子文本替换 (json文本, 字符 (13), "", , , )
如果真 (json.解析 (json文本))
返回 ()

计次循环首 (json.取成员数 ("."), i)
重定义数组 (解析结果, 真, i)
解析单个成员 (json.取成员 ("[" + 到文本 (i - 1) + "]"), 解析结果 [i])
计次循环尾 ()
返回 ()
子程序名返回值类型公开备 注
解析单个成员  
参数名类 型参考可空数组备 注
成员json类_json
输出字段协议字段
输出字段.Type = 成员json.取文本属性 ("Type")
输出字段.path = 成员json.取文本属性 ("path", "")
输出字段.tag = 成员json.取数值属性 ("tag", 0)
判断 (输出字段.Type = "Varint")
输出字段.value = 处理大整数 (成员json.取文本属性 ("value"))
判断 (输出字段.Type = "StringRaw")
输出字段.note = 成员json.取文本属性 ("note", "")
输出字段.value = 处理StringRaw (输出字段.note)
判断 (输出字段.Type = "Group")
解析Group成员 (成员json.取成员 ("value"), 输出字段.子成员)
输出字段.value = "[Group: " + 到文本 (取数组成员数 (输出字段.子成员)) + " items]"

子程序名返回值类型公开备 注
解析Group成员  
参数名类 型参考可空数组备 注
groupJson类_json
输出数组协议字段
变量名类 型静态数组备 注
j整数型 
清除数组 (输出数组)
计次循环首 (groupJson.取成员数 ("."), j)
重定义数组 (输出数组, 真, j)
解析单个成员 (groupJson.取成员 ("[" + 到文本 (j - 1) + "]"), 输出数组 [j])
计次循环尾 ()
子程序名返回值类型公开备 注
处理StringRaw文本型 
参数名类 型参考可空数组备 注
raw数据文本型
变量名类 型静态数组备 注
解码结果文本型 
字节数据字节集 
如果 (寻找文本 (raw数据, "H4sIAAAAAAAAA", , ) > 0)
字节数据 = 编码_BASE64解码 (取文本右边 (raw数据, 取文本长度 (raw数据)寻找文本 (raw数据, "H4sIAAAAAAAAA")))
解码结果 = 编码_Unicode到Ansi (字节数据)
解码结果 = raw数据

返回 ("[Binary:" + 取文本左边 (解码结果, 50) + "...]")
子程序名返回值类型公开备 注
处理大整数文本型 
参数名类 型参考可空数组备 注
数值文本文本型
如果 (取文本长度 (数值文本) > 15)
返回 ("[BigInt:" + 取文本左边 (数值文本, 5) + "..." + 取文本右边 (数值文本, 5) + "]")
返回 (数值文本)

子程序名返回值类型公开备 注
格式化输出  
参数名类 型参考可空数组备 注
数据数组协议字段
变量名类 型静态数组备 注
i整数型 
输出文本文本型 
输出文本 = "=== JSON解析结果 ===" + #换行符#换行符
计次循环首 (取数组成员数 (数据数组), i)
输出文本 = 输出文本 + "[" + 到文本 (i) + "] " + 数据数组 [i].Type + " (tag:" + 到文本 (数据数组 [i].tag) + ")" + #换行符

如果 (数据数组 [i].path ≠ "")
输出文本 = 输出文本 + "  Path: " + 数据数组 [i].path + #换行符

判断 (数据数组 [i].Type = "Group")
输出文本 = 输出文本 + "  Value: " + 数据数组 [i].value + #换行符
输出文本 = 输出文本 + 格式化子成员 (数据数组 [i].子成员, "    ")
判断 (数据数组 [i].note ≠ "")
输出文本 = 输出文本 + "  Note: " + 取文本左边 (数据数组 [i].note, 50) + "..." + #换行符
输出文本 = 输出文本 + "  Value: " + 数据数组 [i].value + #换行符
输出文本 = 输出文本 + "  Value: " + 数据数组 [i].value + #换行符

输出文本 = 输出文本 + #换行符
计次循环尾 ()
编辑框1.内容 = 输出文本
子程序名返回值类型公开备 注
格式化子成员文本型 
参数名类 型参考可空数组备 注
子成员数组协议字段
缩进文本型
变量名类 型静态数组备 注
结果文本型 
i整数型 
计次循环首 (取数组成员数 (子成员数组), i)
结果 = 结果 + 缩进 + "[" + 到文本 (i) + "] " + 子成员数组 [i].Type + " (tag:" + 到文本 (子成员数组 [i].tag) + ")" + #换行符

如果 (子成员数组 [i].path ≠ "")
结果 = 结果 + 缩进 + "  Path: " + 子成员数组 [i].path + #换行符

判断 (子成员数组 [i].Type = "Group")
结果 = 结果 + 缩进 + "  Value: " + 子成员数组 [i].value + #换行符
结果 = 结果 + 格式化子成员 (子成员数组 [i].子成员, 缩进 + "    ")
判断 (子成员数组 [i].note ≠ "")
结果 = 结果 + 缩进 + "  Note: " + 取文本左边 (子成员数组 [i].note, 30) + "..." + #换行符
结果 = 结果 + 缩进 + "  Value: " + 子成员数组 [i].value + #换行符
结果 = 结果 + 缩进 + "  Value: " + 子成员数组 [i].value + #换行符

结果 = 结果 + #换行符
计次循环尾 ()
返回 (结果)


i支持库列表   支持库注释   
eJson(未知支持库)
spec特殊功能支持库
dp1数据操作支持库一






回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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