【已解决】 我在学习《Android开发项目实战-领券联盟》遇到了问题
课程名称:Android开发项目实战-领券联盟
课程链接:
https://www.sunofbeach.net/c/1444529267718344706
学习内容:24、【领券联盟】获取分类详情内容
时间:484.10827
以下是问题详情:
在学着视频做到最后一步运行的时候。发现获取到的failure信息是这样的:

对于这一段GPT给的解释是这样的:
这两条错误消息表明你的Android应用在尝试解析JSON数据时遇到了JsonSyntaxException
,并且在转换字符串为数字时发生了NumberFormatException
。错误提示表明试图将一个非法的字符串转换为数字。
提供的错误信息中,有两个引起问题的字符串分别是"BK2rGnjf6t8bnmvYMJirqrCrteZAx96juGYKNoQdZtv"
和"Aq00j4zUzt48RqO5vYHJ2ofvtn-j5g7oruvNPyNv6RHw6",它们都不是有效的数字值。
为了解决这个问题,你可能需要检查从服务器返回的JSON响应,找到应该包含数字值的键,并确保服务器为这些字段提供有效的数字数据。如果问题仍然存在,你可能需要在代码中处理这些情况,例如在尝试将它们转换为数字之前检查值的格式。
此外,你可以考虑验证JSON响应或实施错误处理机制,以在运行时捕获此类问题,并提供有意义的错误消息,以帮助诊断和解决问题。
请问这样的解决方案是要检查整个bean文件然后找到那个错的点吗?
这个问题很简单。首先是内容字符串,另外则是bean类。
好了,以上。首先,你的字符串要符合json格式。bean类不建议手动创建,可以使用插件,比如说gsonformatter。输入你的json案例,就可以生成了对应的java bean类。
但是要注意的是,最好把里面的int类型改成long类型。万一你的案例里不是极端情况。
你上面的问题是格式化错误。提示的内容就是你要把一串非数字格式成数字,所以错误了。
内容就是日志输出那个。所以你要检查bean类和内容是否对应得上。
大佬你p15能获取到回传的数据吗