问题简介
在进行go语言接口自动化测试时,我们通常会把接口返回的数据格式转成json,在自动化测试过程中进行数据校验,这一过程在处理数据过程中,我们常常会碰到“unexpected end of json input”等错误提示。
问题症状
在进行接口测试时,我们经常会使用json.unmarshal() 将api返回的数据解析成json格式进行处理,然而,有时候我们却会碰到“unexpected end of json input”这样的错误,而这个错误往往不会告诉我们到底是哪个json解析错误的位置导致的这个错误。
常常在嵌套的json文本之间,会有意外断开的情况,经常哪个对象中缺少一个闭合分号或者冒号,都会导致整个json格式文本解析失败,将无法正确使用api返回的数据。这个错误提示通常是在调用json.unmarshal()时返回的。
捕鱼10元起上10元下的解决方案
解决该问题的方法有很多,但最重要的前提是:找到json格式化文本中“unexpected end of json input”出现的位置,并尝试修复那个json格式文本,让它完整且合法,就可以正常解析json格式的数据了。
修复json格式文本有很多方式,下面给出三个实用的方法:
- 在文本编辑器中搜索到语法错误,检查你的json格式文本是否合法并进行更正。
- 使用在线json格式检测工具(例如jsonlint.com)将你的json文本加以验证,其中会列出你的json文本中的语法错误,并提供修复建议。
- 使用go语言自带的解析器(例如json.decoder)进行json格式文本的解析,因为它会在解析json格式文本时返回在哪一行出现了无效的字节码。
经过修复后,你的json格式数据就应该可以正确解析了,既可以用户接口自动化测试数据解析和校验,也可以为程序的数据被正确的序列化和反序列化做好准备。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/golang-c4siq.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及捕鱼10元起上10元下的版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的捕鱼10元起上10元下的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!