将JSON字符串转换为列表并访问其中的第三个元素

2024-10-08 18:26:25 发布

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

我有一个JSON字符串,如下所示:

[["1", 1, "hy3mRUeEcb18NLC1"], {}]

我加载字符串,如下所示: taskParams = json.loads(x.task_params)[0]

因为有多个JSON对象,我只想要第一个

然后我尝试访问第三个元素,或者在一个列表索引2中。索引如下:

print(taskParams[2])

它给了我以下错误:

list index out of range

显然不是这样

有关完整代码的澄清:

taskParams = json.loads(x.task_params)[0] 
print(taskParams[2])

启动时的完整输出:

[["1", 1, "hy3mRUeEcb18NLC1"], {}]
[[], {}]
[[], {}]

json.loads()之后的输出

['1', 1, 'hy3mRUeEcb18NLC1']

我想要的输出: hy3mRUeEcb18NLC1


Tags: 对象字符串json元素列表taskindex错误
1条回答
网友
1楼 · 发布于 2024-10-08 18:26:25

根据https://www.json.org/json-en.html的规范,字符串需要用双引号括起来,其中说明:

A string is a sequence of zero or more Unicode characters, wrapped in double quotes, using backslash escapes. A character is represented as a single character string. A string is very much like a C or Java string.

工作解决方案的一个例子是:

import json
x = '["1", 1, "hy3mRUeEcb18NLC1"]'
taskParams = json.loads(x)
print(taskParams[2])

哪个输出

hy3mRUeEcb18NLC1

对于较长的JSON字符串,可以执行以下操作:

import json
x = '[["1", 1, "hy3mRUeEcb18NLC1"], {}]'
taskParams = json.loads(x)[0]
print(taskParams[2])

相关问题 更多 >

    热门问题