研究了一下午 发现读取utf-8文件时 BOM报头, BOM报头又叫UTF-8签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器 识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行,一般的php代码如果用记事本等软件编辑保存过之后,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。(还不清楚为什么会在返回数据时候也自动加上了BOM报头)。
然后需要去掉BOM报头,然后解析就正常了
public static String formatString(String s) {
if (s != null) {
s = s.replaceAll("\ufeff", “”);
}
return s;
}
不管有没有把这个方法加到解析json方法的前面去,这样可以让程序更健壮。

读取文件,解析json报错,解析Unquotted string ''相关推荐

  1. python跳过错误_Pandas之read_csv()读取文件跳过报错行的解决

    读取文件时遇到和列数不对应的行,此时会报错.若报错行可以忽略,则添加以下参数: 样式: pandas.read_csv(***,error_bad_lines=False) pandas.read_c ...

  2. js解析json报错

    问题出现: 在用ajax请求数据的时候,我们经常会用到eval来解析json格式数据,但是很多时候我们明明json格式是正确的但总是报index:1错误,这让人很恼火!!!网上很多回答试了很多也不行, ...

  3. 为什么python不报错不出结果_python的坑货ConfigParser类读取文件失败不报错

    python中configparser模块(这个模块有个大坑)可以读取配置文件,当然这个配置文件的格式得按照这个模块指定的.格式如下 [CLICKHOUSE] ip = 172.20.96.78 us ...

  4. 关于with open() as f读取文件时编码报错问题

    一般我们都是这样写,python3 with open(file_path, mode='r') as f:..... 但是有时候读取的内容有编码问题,会报错: UnicodeDecodeError: ...

  5. javacc解析json报错

    1.美图 2.背景 github:地址https://github.com/RobertFischer/json-parser options {CHOICE_AMBIGUITY_CHECK=3;OT ...

  6. 安装apk报错“解析包时出现问题”

    当minSDKversion大于deviceSDKversion时也会报错"解析包时出现问题" 修改buil.gradle里 android{ defaultConfig{ min ...

  7. 记录版本更新安装时解析包报错

    记录版本更新安装时解析包报错 2020-07-09 17:05:52.785 24157-24213/? W/OPInstallStaging: Error staging apk from cont ...

  8. jwt解析token报错:Signed Claims JWSs are not supported.

    jwt解析token报错:Signed Claims JWSs are not supported. Exception in thread "main" io.jsonwebto ...

  9. elasticsearch部署过程中各种报错解析

    elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as r ...

最新文章

  1. SpringMVC学习总结(2)——SpringMVC返回json配置
  2. 用户姓名保护python_Python操作LDAP,对用户进行认证(验证用户名以及密码)
  3. js 实现2的n次方计算函数_「计算机组成原理」:一文快速了解计算机原理知识点-附思维导图...
  4. 海康威视主机升级固件_海康威视网络广播主机DSKAM6HG1S
  5. GYM101933I - Intergalactic Bidding
  6. Python机器学习库sklearn的安装
  7. C++ lower_bound和upper_bound的区别
  8. html 文字过多如何显示,当页面文字过多时,怎么用css使超出部分显示省略号?(单/多行代码演示)...
  9. 用python实现(1.求输入的百倍,十位,个位数;2.输入a,b和ab间夹角,计算c边长;3.计算两点间曼哈顿距离;4.计算给定数据的几何平均数;5.计算向量的L1和L2范数)
  10. 正则 0个或多个_正则表达式一知半解
  11. Windows Server 2003 AD域升级至Windows Server 2008 R2实战案例
  12. 局域网SDN技术硬核内幕 三 从物到人——SDN走进园区网络
  13. linux 压缩文件软件,Linux下最好用的解压缩软件unar
  14. 如何看待用户反馈意见
  15. Java线程同步容易犯错的坑
  16. 关于VERIFY_OCTAL_PERMISSIONS权限检查
  17. rman 备份脚本之总结分析
  18. css小鸡破壳,小鸡出壳是小鸡自己破壳,还是鸡妈妈帮助破壳?
  19. 2021-2022-2 ACM集训队每周程序设计竞赛(1) - 问题 D: 点外卖 - 题解
  20. 华为AC6005-8升级记录

热门文章

  1. java获取字典所有的key_java字典,多层字典,斗地主发牌,实例展示
  2. ios开发工具_7个基本的ios开发人员工具
  3. 用python来做一个五子棋游戏,源码分享~
  4. 【vue eslint】报错Component name “xxxxx“ should always be multi-word.eslintvue/四种解决方案
  5. 欢迎来到WebGPU的世界
  6. 上海宝山锦隆考试基地科目三笔记
  7. BootStrap-Table分页参数传不到后台,后台接收分页参数为null
  8. [BZOJ4355] Play with sequence(线段树)
  9. linux,windows 可执行文件(ELF、PE)
  10. 【无标题】8421码,5421码,2421码,余3码之间的区别。