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

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 将安全信息用到以下对象时发生以下错误:c:dumpstack.log.tmp 另一个程序正在使用此文件,因此无法访问
  • ¥15 速度位置规划实现精确定位的问题
  • ¥15 代码问题:df = pd.read_excel('c:\User\18343\Desktop\wpsdata.xlxs')路径读不到
  • ¥15 为什么视频算法现在全是动作识别?
  • ¥15 编写一段matlab代码
  • ¥15 用Python做岩石类别鉴定软件
  • ¥15 关于调取、提交更新数据库记录的问题
  • ¥15 之前删了盘从下vs2022遇见这个问题 搞了一整天了
  • ¥15 从Freecad中宏下载的DesignSPHysics,出现如下问题是什么原因导致的(语言-python)
  • ¥30 notepad++ 自定义代码补全提示