log4lgb 2021-01-26 22:00 采纳率: 50%
浏览 773
已结题

Json 字符串中带有冒号(:),导致Gson解析失败,该如何处理?

我从服务端获取到 Json 字符串,在使用 Gson 转化为对象时出错,提示:

com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object...

经过查找,发现是 Json 字符串中有一个 value 中含有冒号(:)

Json 如下(因为太长了,所以前后部分省略了):

省略。。。
            {    
                "objectId": "bf3d3b24e95447d6866c342a39361588", 
                "imageId": "96bdfa7aaddd4b40848ddcf02266308c", 
                "sha1": "25031f31f939fe79bf60eddbf0cd37e41929501f", 
                "fileCategory": "e55ec864ba2344cea3dcafc2781e3fe5", 
                "originalFileName": "9c77a79c4ef643f3ab386cfee59f64c6_https:www.lgstatic.comiimageM008FDCCgqCHmAJKSSAezOCAAQlPl9R-Rw735.JPG", 
                "sourceFileName": "895e48fa61b24573b8cb2f177d52570a_1611496313610.JPG", 
                "coverFileName": "d35d3357e17e46a4a205cc930fbdc693_1611496313611.JPG", 
                "thumbnailFileName": "c8b80504c5ab4e84a8e3b73e1982dcae_1611496313611.JPG", 
                "createTime": 1611412660000, 
                "imageUser": "84f6e0d8d94348ccab981e364661a419", 
                "imageStatus": 1
            }
省略。。。

就是 key 是 originalFileName 的 value 导致的出错(...https:...),将冒号去掉就可以正常解析了,但又不能随便修改原始数据,请问这种情况该怎么办啊?

  • 写回答

2条回答 默认 最新

  • storm_huang 2021-01-27 14:18
    关注

    1、替换成中文符号再进行解析,解析后取值替换回来,这会有点麻烦。

    2、换一个json包,jackson、fastjson这些来处理试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 已采纳回答 9月23日

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题