com.google.gson.stream.MalformedJsonException的解决办法

本文详细介绍了使用Gson解析JSON时遇到的异常问题,特别是关于JSON格式中多余空格导致的解析错误。文章提供了两种解决策略:使用在线JSON验证工具检查JSON格式是否正确,以及确保JSON数据中没有多余的空格。此外,通过设置JsonReader的setLenient(true)方法可以接受可能不规范的JSON数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于Gson解析的异常,我花费两个小时才调试出来。如果你程序出现以下的异常,有两种可能性:‘

1. 找到一个JSON格式的验证工具,这个网上很多大家可以百度下

2.你的JSON格式验证没有问题,却一直报这个解析错误,请确定你的JSON数据没有多余的空格。这个空格有可能在IO流读取的时候多读了。另外,注意这种空格可能是特殊字符,需要在debug模式下才能看到,只是打印是看不到的。

com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 33
	at com.google.gson.Gson.assertFullConsumption(Gson.java:779)
	at com.google.gson.Gson.fromJson(Gson.java:769)
	at com.google.gson.Gson.fromJson(Gson.java:717)
	at com.google.gson.Gson.fromJson(Gson.java:689)
	at com.ant.Test.main(Test.java:24)
Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 33
	at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505)
	at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1386)
	at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:531)
	at com.google.gson.stream.JsonReader.peek(JsonReader.java:414)
	at com.google.gson.Gson.assertFullConsumption(Gson.java:775)
	... 4 more



评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值