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

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日

悬赏问题

  • ¥20 基于MATLAB的TDOA
  • ¥15 为啥输入字体突然变了
  • ¥20 已知坐标,换成MATLAB可以用的数据
  • ¥15 这个python五子棋代码的每一句意思是什么啊
  • ¥15 求一段隐藏代码,隐藏一些内容
  • ¥15 汇川EASY521plc电子凸轮
  • ¥15 C++ 如何判断设置快捷键来实现隐藏/显示窗口
  • ¥15 关于#材料工程#的问题:有没有具有电子阻挡层和空穴阻挡层的电池仿真silvaco代码例子或者其他器件具有阻挡层例子的silvaco代码(最好还有相关文献)
  • ¥60 基于MATLAB的TAOD算法
  • ¥15 Groimp使用疑问