Json 读文件错误:Expecting property name enclosed

写好 Json 文件后,发现 Json 读文件时错误,

1. 错误信息

如下:

json.decoder.JSONDecodeError: 
Expecting property name enclosed in double quotes: line 2 column 3 (char 5)

字面意思是:
期望属性的名字,以双引号(double quotes) 结束

2. Example:

[
    {
      'index': 1,
      'extendPointNumberStart': 11,
      'extendPointNumberEnd': 11
    }
 ]

对于上面的代码,在 Python 中,是对的。但是,在 Json 读入时,就是错误的。

3. 原因:

上述使用的是单引号,但是需要使用的是双引号;将单引号全部替换成双引号,问题就解决了。

其他容易的错误是:
中英文引号的差别,也会导致错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Python中,JSON是一种常用的数据交换格式,用于在不同的系统之间传递和存储数据。当我们使用json库解析JSON数据时,有时候可能会遇到"json.decoder.JSONDecodeError: Expecting property name enclosed in double quo"的错误。 这个错误是因为JSON数据的格式不正确。在JSON中,属性名必须使用双引号进行包围。如果属性名使用了其他字符,如单引号或未被引号包围,就会触发这个错误。 例如,考虑以下无效的JSON数据: ``` { 'name': 'John', "age": 25 } ``` 在这个例子中,属性'name'是用单引号包围的,而不是应该用双引号包围。因此,当我们尝试解析这个JSON数据时,就会出现"json.decoder.JSONDecodeError: Expecting property name enclosed in double quo"的错误。 为了解决这个错误,我们应该确保JSON数据的属性名使用双引号进行包围。正确的JSON数据应该像这样: ``` { "name": "John", "age": 25 } ``` 在这个修正后的JSON数据中,属性名'name'和'age'都被双引号包围,因此可以正确地被解析。 总结一下,当我们遇到"json.decoder.JSONDecodeError: Expecting property name enclosed in double quo"的错误时,需要检查JSON数据的格式,确保所有的属性名都使用双引号进行包围。 ### 回答2: 这个错误信息是由于在使用 JSON 解码时,遇到了一个属性名没有用双引号包裹起来的情况。JSON 格式要求所有的属性名都必须用双引号来包裹,这样才能被正确解析。 要解决这个错误,我们需要检查 JSON 数据中是否有未使用双引号包裹的属性名。通常情况下,这个错误可能是由于以下情况引起的: 1. 属性名使用了单引号或没有使用引号。例如,`{'name': 'John'}` 这样的语法是错误的,正确的写法应该是 `{"name": "John"}`。 2. 属性名没有使用引号包裹。例如,`{name: "John"}` 这样的语法也是错误的,正确的写法应该是 `{"name": "John"}`。 3. 属性名使用了错误的引号类型。JSON 格式规定属性名必须使用双引号,而不是单引号或反引号。例如,`{"name": 'John'}` 或 `{"name": `John`}` 都是错误的写法。 在修正这个错误时,我们需要仔细检查 JSON 数据,确保所有的属性名都正确地使用了双引号包裹。更进一步,可以使用 JSON 校验工具来验证 JSON 数据的正确性,以避免潜在的语法错误

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值