python - 无法在我的简单 python 代码中读取 JSON 文件
问题描述
当我尝试读取 JSON 文件时出现以下错误,不确定需要更正什么:
C:\Users\prabhjot2600\PycharmProjects\PythonPractise\venv\Scripts\python.exe C:/Users/prabhjot2600/Desktop/Prabh/alien_invasion/test.py
Traceback (most recent call last):
File "C:/Users/prabhjot2600/Desktop/Prabh/alien_invasion/test.py", line 26, in <module>
data = json.loads(people_string)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\json\__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 11 column 21 (char 192)
我的代码只是读取一个 JSON 文件并打印它的数据。我也检查了我的 JSON 数据,它看起来是正确的,还对其进行了格式化,以查看是否还有任何错误,但仍然无法读取 JSON
import json
people_string = '''
{
"people": [
{
"name": "Prabhjot Singh",
"phone": "9999596310",
"emails": [
"prabh@noemail.com",
"prabhjot@ranamail.com"
],
"hasLicence": True
},
{
"name": "Sunny Rana",
"phone": "9999988888",
"emails": null,
"hasLicence": False
}
]
}
'''
data = json.loads(people_string)
print(data)
解决方案
JSON 代表JavaScript 对象表示法。
所以它是 Javascript 语法的子集。
Javascript 使用true
和false
关键字作为文字布尔值。
(而 python 使用True
and False
)。
因此,您应该使用true
andfalse
而不是True
and False
。
有关详细语法,请参阅https://www.json.org/json-en.html。
推荐阅读
- angularjs - 期权来了,而不是 put
- php - 计算嵌套在文档中的子数组的数组长度并求和 - MongoDB / PHP
- java - Java 应用程序使用 for 循环和 if 语句检查字谜
- angular - 使用 *ngFor 渲染增量更新?
- c# - 我是否需要特殊许可证才能分发使用 mkbundle 交叉编译的 Mono 可执行文件?
- vim - Vim:在 auto shebang 之后添加两行
- html - 有没有办法让一个具有固定值的表单仍然可见?
- html - Bootstrap 浮动侧栏
- javascript - 显示游戏结束声明
- javascript - THREE.js - 通过旋转移动 3D 球