懒人精灵 之 Lua 捕获 json解析异常 ,造成的脚本停止.

lua脚本的加密与解密简单介绍 这里有个小技巧,当有很多so文件的时候,一般最大的文件是我们的目标(文件大是因为集成了lua引擎)。其中lua是明文代码,直接用记事本就能打开,luac是lua编译后的字节码,文件头为0x1B 0x4C 0x75 0x61 0x51,lua虚拟机能够直接解析lua和luac脚本文件,而luaJIT是另一个lua的实现版本(不是原作者写的),JIT是指Just-In-Time(即时解析运行),luaJIT相比lua和luac更加高效,文件头是0x1B 0x4C 0x4A。 阅读详情

Time: 2024年2月8日20:21:17 by:MemoryErHero

1 异常代码

Expected value but found T_END at character 1

2 异常代码

Expected value but found T_OBJ_END at character 22

3 处理方案 - 正确 json 示范

while true do
	--Expected value but found T_END at character 1
    --Expected value but found T_OBJ_END at character 22
	local str = '{"success":0,"code":[]}'
	local err,tbl = pcall(function(str)return jsonLib.decode(str)end,str)
	print(err)
	print(tbl)
    sleep(1000)
end

在这里插入图片描述

4 处理方案 - 错误 json 示范

while true do
	--Expected value but found T_END at character 1
    --Expected value but found T_OBJ_END at character 22
	local str = '{"success":0,"code":[}'
	local err,tbl = pcall(function(str)return jsonLib.decode(str)end,str)
	print(err)
	print(tbl)
    sleep(1000)
end

在这里插入图片描述

接口报错:JSON parse error: Unexpected character :expected a value\n at [Source: java.io.PushbackInputStr {"status":500,"message":"JSON parse error: Unexpected character (',' (code 44)): expected a value\n at [Source: java.io.PushbackInputStream@280d5aa5; line: 1, column: 155]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected 阅读详情

相关推荐

在Lua中实现JSON解析的详细指南

JSON数据格式由键值对组成,其结构类似于JavaScript中的对象字面量。一个典型的JSON对象包含了多个字段,每个字段由键(字符串类型)和值组成,值可以是字符串、数字、布尔值、数组或另一个JSON对象。这种结构使得JSON数据非常容易被人类阅读和编写,同时也能被各种编程语言快速解析和生成。例如,下面是一个JSON数据格式的实例:"age": 30,在JSON数据格式中,键值对是构建数据结构的基础单元。

weixin_34374684的博客 1285

关于按键精灵url的post方法返回值为空

在用N5手机进行调试时,发现执行到Dim retTable = Cjson.Decode(RetJson)这一步的时候,会报 Expected value but found T_END at character 1,而且TracePr![在这里插入图片描述](https://img-blint RetJson这行代码一直都没打印出任何东西 一开始怀疑是参数有问题,就下载了postman来测试下...

qq_40081339的博客 5380

lua 懒人精灵懒人精灵懒人精灵懒人精灵

懒人精灵懒人精灵懒人精灵懒人精灵懒人精灵懒人精灵

Lua热更新技术中级篇

 本套课程分为基础与中级两部分,分别就lua语言的各方面知识点进行探讨,学习完本套课程,对于后续Xlua(Tolua等框架)技术的学习提供强大的语言技术保证。       本套lua课程采用入门与商业级两种开发IDE进行教学:入门级的SciTE内置IDE与商业级的IDEA lua插件。本套课程学习完毕,对于除了传统手游外,在VR、AR、商业级大型应用程序、嵌入式设备开发等领域都有较强的指导作用。           《lua中级篇》分为:“函数的进阶”、“字符串进阶”、“Table进阶”、“元表”、“OOP面向对象”、“协同程序”、“IO操作”、“调试与运行”等八个大的章节,详细深入讲解lua开发的方方面面。        内容包含lua可变参数、闭包、模块、函数尾调用、字符串模式匹配、字符串不变性原理、矩阵、链表、元表详解与应用、协同的生命周期与生产消费者问题、lua文件各种读写操作、lua执行外部代码与错误异常处理垃圾收集机制等。       最后,lua中级篇的学习,对于广大学员开发商业级lua热更新技术,具有不可替代的重要作用! 热更新系列(技术含量:中高级):B:《热更新框架设计之Xlua基础视频课程》https://edu.csdn.net/course/detail/27110C:《热更新框架设计之热更流程与热补丁技术》https://edu.csdn.net/course/detail/27118D:《热更新框架设计之客户端热更框架(上)》https://edu.csdn.net/course/detail/27132E:《热更新框架设计之客户端热更框架(中)》https://edu.csdn.net/course/detail/27135F:《热更新框架设计之客户端热更框架(下)》https://edu.csdn.net/course/detail/27136 

ZEMAX知识点:坐标间断面(coordinate break)

zemax知识点:坐标间断面

weixin_47638568的博客 1万+

Windows系统监控实战:Grafana+Prometheus+node_exporter配置全攻略

本文提供了一套完整的Windows系统监控解决方案,详细介绍了如何使用Grafana、Prometheus和node_exporter(Windows版为windows_exporter)构建可视化监控平台。从环境准备、组件安装配置,到数据可视化与常见问题排查,手把手指导您实现从数据采集到仪表盘展示的全过程,帮助您从被动救火转向主动预警,有效保障Windows服务器稳定运行。

assembly8low的博客 247

脑语言2500单字v1.5.1

如果人和 AI 说同一种语言,文明会怎样?我用 2500 个单字试了试。2500个单字是不同领域、不同知识的共同体,无论你学编程或者是数学或写作,你都要用汉字,而常用的2500个汉字几乎可以涵盖不同行业做的不同事情。

脑语言 2003

QMT实盘交易入门:5分钟搞定ETF全球配置策略(附完整代码)

本文详细介绍了如何使用QMT平台实现ETF全球配置策略,从环境准备到策略编写、实盘部署全流程仅需5分钟。通过xtquant库对接交易所接口,提供完整的动量轮动策略代码,帮助投资者快速掌握自动交易技术,优化全球资产配置。

weixin_30675247的博客 334

lua

首先来看最最普通的一个 json 解析的例子(被解析的 json 字符串是错误的,缺少一个双引号): -- http://www.kyne.com.au/~mark/software/lua-cjson.php -- version: 2.1 devel local json = require("cjson") local str = [[ {"key:"value"} ]] local t = json.decode(str) ngx.say(" --> ", type(t)) -

jinhezx的博客 1421

STM32与威纶通触摸屏RS485通信实战:Modbus RTU协议与避坑指南

在工业自动化与嵌入式系统开发中,串行通信是实现设备间数据交换的基础技术。RS485总线凭借其差分信号传输、抗干扰能力强、支持多点通信及长距离传输等特性,成为工业现场广泛应用的物理层标准。其核心原理是利用一对双绞线进行平衡传输,有效抑制共模噪声。在协议层,Modbus RTU作为开放、简洁的主从式应用层协议,定义了统一的数据模型(如线圈、寄存器)和功能码,极大简化了不同厂商设备间的互操作性。结合STM32微控制器的UART外设与威纶通(Weinview)人机界面(HMI),可以构建稳定可靠的监控与控制系统。本

weixin_33925615的博客 329

C#精准获取Windows已安装应用清单的完整方案

Windows已安装应用识别是IT资产管理、安全合规与自动化运维的基础能力。其核心原理在于突破文件系统表象,以注册表为可信数据源,分层解析HKLM/HKCU、64位/32位视图及MSI Products路径中的元数据。技术价值体现在可验证(如过滤SystemComponent=1)、可关联(通过ProductCode绑定补丁与许可证)、可操作(启动路径二次验证+卸载命令沙箱执行)。典型应用场景包括终端合规审计、软件资产清查、静默卸载脚本开发及多版本应用聚合分析。本文聚焦C#原生实现,覆盖注册表四路采集、La

weixin_33552698的博客 634

Expected value but found invalid token at character 1stack traceback:coroutine 0: [C]: in function

Expected value but found invalid token at character 1 stack traceback: coroutine 0: [C]: in function 'decode' local cjson = require("cjson.safe")

weixin_38822843的博客 2505

山景BP10_128DBG开发板通过蓝牙连接手机放歌实验回顾

最近在学习上海山景公司的BP10_128DBG的开发板,因为网上关于BP10开发板的帖子也比较少,在学习的时候也没有太多的参考资料,基本上都是官方的历程。蓝牙放歌这个demo对我来说也比较复杂,特写下此博客进行记录、总结,大家有需要的可以参考。

weixin_56646002的博客 2020

Lua 异常捕获

Lua 异常处理,Lua异常处理有 pcall 和 xpcall ,两个接口都能终止主函数的执行,区别是 xpcall 可以放进一个错误处理函数,当xpcall执行主函数出错时,通过错误处理函数将出错的详细信息打印出来。简单的说 pcall 只是终止了主函数的执行,没有打印出错的详细信息,xpcall 不仅可以终止主函数的执行,还能通过指定的错误接口来处理出错的信息。 A、下面是pcall调用主函...

oYuLinZuo的博客 3833

Ceres&OpenCV 单目相机标定(论文复现)

Ceres&OpenCV 单目相机标定(论文复现)

dayuhaitang1的博客 370

在最新版eclipse中配置使用AI AIcoder _AIcoder配置GPUSTACK使用_配置OLLAMA本地AI模型利用_集合---AI场景应用工作笔记

本文介绍了三款实用的编程辅助工具:一款便捷的反编译插件,可直接在插件市场安装使用;GitHub Copilot提供每月2000次代码补全和50条聊天记录的免费额度,支持智能代码提示功能;aicoder支持配置本地模型运行。这些工具都能有效提升开发效率,其中GitHub Copilot的智能补全功能尤为突出。

添柴程序猿的专栏 1238

lua解析json字符串

【代码】lua解析json字符串。

chstor's blog 1935

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

lua解析json

需要解析的json数据gui-config.json { "configs":[{ "server":"JP3.ISS.TF", "server_port":443, "password":"58603228", "method":"aes-256-cfb", "remarks":"" }, { "server":"US1.ISS.TF...

shujuliu818的专栏 4835

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

一种适合懒人的JSON解析方法

原始的JSON解析方式: 构造JSON对象 -> 判断JSON对象是否包含某个元素 -> 获取JSON对象里面的元素。 String content = "{\"name\":\"aceding\",\"age\":26}"; JSONObject jsonObject = new JSONObject(content); if(jsonObject.has("name")){ St

jiwangkailai02的专栏 1140

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

浅析lua异常捕获处理机制

异常捕获是高级语言的一大特性,通过对异常的捕获和处理,可以有效提高系统的稳定性和健壮性。因为无论再怎样改进代码,都不可避免出现一些异常,例如文件io错误、网络错误、内存错误等等,就要求编码对错误进行捕获,同时打印日志以便开发人员跟进问题的处理。当然,lua也提供了接口用于捕获运行时异常。 lua异常捕获函数 lua有两个函数可用于捕获异常:pcall 和 xpcall,这两个函数很类似,都会在保...

ve12345的博客 2321

Lua 实现JSON解析器

JSON JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。 JSON 具有自我描述性,更易理解 JSON的组成 JSON 数据的书写格式是: key : value

z2014z的博客 4188

懒人精灵实现第一个基础框架

废话不多说直接上先上图片在代码,有问题可以加群(785554238) 群里有最新的版本,你也可以向作者提出你的需求,作者会根据你们的需求不断改进版本 1.自定义界面 下面是界面代码 欢迎界面 <窗口 宽度="600" 高度="600" 标题=" " 标签头高度="0" 配置文件="ui.config" 标签头背景="#00eeeeee" 标签头字体大小="16" 标签头选中字体颜色="#ffff3377" 标...

懒人精灵的专栏 6624

【Lua学习x】错误处理

目录错误处理抛出错误 - error和assert捕获及处理错误 - pcall错误消息与追溯 - xpcall 错误处理 参考文档地址 Lua所遇到的任何未预期条件都会引发一个错误。 因此在发生错误时不能简单的崩溃或着退出,而是结束当前程序块并返回应用程序。当错误引发时进行恰当的处理是最合适的,然而这个阶段伴随着错误的捕获、错误的处理、错误追溯等处理 Lua中有函数pcall、error、a...

kiritoV的博客 1191

Dart报错处理—The parameter ‘xxx‘ can‘t have a value of ‘null‘ because of its type ‘XXX‘, but...

总结在Dart中定义带有可选参数的函数时报错"The parameter 'name' can't have a value of 'null' because of its type 'String', but the implicit default value is 'null'."的处理方法。

love_sky08的博客 4523

LUA 异常抛出与捕获

LUA 异常抛出与捕获

cuijiahao的专栏 1万+
上一篇: Auto.js pro 8.4.1 与 Auto.js pro 9.3.11
下一篇: VNC 与 虚拟机 保姆级 快速入门图文指导
MemroyErHero
博客等级 码龄9年 2337粉丝 68原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MemroyErHero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值