前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >json解析BOM问题,can't decode byte in position 0

json解析BOM问题,can't decode byte in position 0

作者头像
震八方紫面昆仑侠
发布2020-07-23 00:21:07
8090
发布2020-07-23 00:21:07
举报

Json(javascript object notation)是基于javascript(standard ECMA-262 3rd Edition-December 1999)的一个子集,采用完全独立于语言的文本格式。这种格式的数据在系统间传递体积小,解析也很方便,各种语言都自带解析json格式数据的方法。

但是如果你在windows环境编写了一个json格式的文件,然后用Python或者golang读取这个文件。将读取到的字符串进行json解析,往往会报错can't decode byte in position 0: invalid continuation byte。windows下选择utf-8编码时,会使用带BOM的utf-8形式,会在文件的头部默认加上“\xef\xbb\xbf”。通过文件读取到的字符串就是'\xef\xbb\xbf{A:'ddd'; B:'kkk'}',这种肯定不符合json格式的定义了,只有去掉\xef\xbb\xbf后才是标准的json格式。

解决方案可以是以utf-8不带BOM格式保存文件。如果程序本身是Linux环境运行的,那么可以直接在Linux环境编辑json格式文件就不会有BOM问题了。在windows环境编辑过json格式文件,例如配置文件config.json,如果解析报错,首先应该考虑的就是BOM问题。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL从删库到跑路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档