项目场景:
项目场景:Json作为一种数据传输方式,在很多场景都得到了应用。Python也提供了处理Json文件的工具:
Python读取Json文件报错:
**json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 547 (char 690)**
问题描述
提示:python读取Json文件报错
Python读取以下Json文件报错:
{
"initial_params": {
"_complex": false,
"_data": [
0.4997993 , 1. , 0.2790356 , 1.0
]
}
}
with open(file_name, 'r') as f:
data = json.load(f)
原因分析:
Json文件的读取相对很简单,怎么会出现错误呢?
后面把Json文件放在网上去检查是否符合Json格式,发现了问题:
Json在线格式检查
INVALID (RFC 8259)
RFC 8259对数字的要求
6.数字
——数字的表示与大多数编程语言中使用的表示类似。一个数字用十进制数字以基数10表示。它包含一个整数分量,其前缀可以是可选减号,后面可以是分数部分和/或指数部分。不允许前导零。
——·分数部分是小数点,后面跟着一个或多个数字。
——指数部分以大写或小写字母E开头,后面可以是正负号。E和可选符号后面跟着一个或多个数字。
——不允许使用【不能用下面的语法表示的】数值(如Infinity和NaN)。
可以看出Json中的数据1.的表示方式不符合Json规范。
解决方案:
将Json文件中1.改为1.0或1即可。
出现读取Json文件失败,首先检查一下Json文件是否规范,再进一步分析