JSONDecodeError:应将属性名称括在双引号中

2024-10-01 07:19:52 发布

您现在位置:Python中文网/ 问答频道 /正文

import json as js
CONFIG_FILE_NAME = "Config.json"
FILE = open(CONFIG_FILE_NAME,'r')
CONFIG_FILE = [js.loads(CONTENT) for CONTENT in FILE]

这是我的脚本,我想从这个Config.json文件中提取数据

 {
 "Files": {
 "Emails": {
 "FileName": "Emails.txt",
 "Location": "PasteHereLocation"
 },
 "Body": {
 "FileName": "Message.txt",
 "Location": "PasteHereLocation"
 },
 "Servers": {
 "FileName": "Servers.json",
 "Location": "PasteHereLocation"
 }
 }
}

但它给出了这个错误。因为我已经尝试了不同的方法,比如1)将json作为原始字符串放入r'json content'2)更改解码方法或3)将.json更改为.txt。但还是同样的错误

File "D:\Softwares\Technical\Anaconda\lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)

JSONDecodeError: Expecting property name enclosed in double quotes

请检查一下


Tags: nameintxtconfigjson错误jslocation
1条回答
网友
1楼 · 发布于 2024-10-01 07:19:52
import json as js
CONFIG_FILE_NAME = "Config.json"
FILE = open(CONFIG_FILE_NAME,'r')
js.load(FILE)  # or use js.loads(FILE.read())

省略这一行

CONFIG_FILE = [js.loads(CONTENT) for CONTENT in FILE]

情况就是这样:
您的文件包含有效的JSON,但当您使用[[js.loads(CONTENT) for CONTENT in FILE]]逐行读取文件时,变量CONTENT不再包含有效的JSON,它们只是不完整或无效的JSON行,然后您尝试将其加载到json模块中,这就是它给您的错误

相关问题 更多 >