python - JSON JSONDecodeError:额外数据 Python
问题描述
我正在尝试使用 Python 打印 Json 的每个值。有 3 个 Json 短语由“,”分隔,如果我尝试将所有短语加载到 json.loads 函数中,则会出现错误。
这是我正在尝试做的事情:
x = '{"level": 1, "body": "hey", "track": 199}, {"level": 2, "body": "good", "track": 199}, {"level": 3, "body": "nice", "track": 199}, {"level": 4, "body": "thin", "track": 199}'
y = json.loads(x)
和我得到的错误:
json.decoder.JSONDecodeError:额外数据:第 1 行第 55 列(字符 54)
我让它工作的唯一方法是获取该字符串中的每个 json 短语并在其上使用 json.loads() 函数。
所以
x = '{"level": 1, "body": "hey", "track": 199}'
y = json.loads(x) # this does work but how do I split the string to these phrases?
解决方案
JSON 字符串的顶层必须只是一个数组或对象。如果你想拥有多个对象,它们必须在一个数组中。
x = '[{"level": 1, "body": "hey", "track": 199}, {"level": 2, "body": "good", "track": 199}, {"level": 3, "body": "nice", "track": 199}, {"level": 4, "body": "thin", "track": 199}]'
当你加载它时,你会得到一个字典列表。
推荐阅读
- elasticsearch - 在 Kubernetes 中部署 elk 堆栈并出现 helm VolumeBinding 错误
- angular - 没有页眉/页脚的静态 HTML 页面
- sql - SQL 值从一张表到多列
- android - 发布错误后的 Play 商店
- signals - 是否可以向不同的树发出信号?
- java - 将 PDF 传递给打印机应用程序时,灰色字母被黑点包围
- python - Python subprocess.Popen内存错误与readline
- python - Numpy 数组所有和任何操作与 3d 数组中的组合
- javascript - 纯javascript折叠导航栏
- reactjs - 将 create-react-app 项目传输到 Webpack 并且没有错误,但永远不会调用 index.js