我在JSON响应中得到一些特殊字符,因此我无法解析JSON

时间:2016-08-23 14:02:30

标签: java json parsing

我在JSON响应中得到了一些特殊字符。当我在浏览器中粘贴URL时,我在响应中看不到任何特殊字符,但是当我将内容作为字符串获取时,我会得到一些特殊字符并且它会触发一些错误。

我尝试将响应保存到文本文件并从那里取出但仍然会有特殊字符。

样本回复如下:

ÿþ{"Symbol":"H","Company Name":"ABC"}

(示例不是完整的JSON响应。我只是张贴开头。)

为什么会发生这种情况以及如何避免特殊字符?

1 个答案:

答案 0 :(得分:1)

这是一个UTF-16(小端)“字节顺序标记” - 见http://en.wikipedia.org/wiki/Byte_order_mark

  

字节顺序标记(BOM)是一个Unicode字符,U + FEFF BYTE ORDER MARK(BOM),它在文本流开头的外观作为幻数可以向使用该文本的程序发出信号:< / p>      

      
  • 文本流存储的字节顺序或字节顺序;
  •   
  • 文本流是Unicode的事实,高度自信;
  •   
  • 将文本流编码为的几种Unicode编码中的哪一种。   BOM使用是可选的,如果使用,应该出现在文本流的开头。
  •   

您需要找出添加BOM的位置并将其消除。