Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';JSON输出中的t访问键:字符串索引必须是整数_Python_Json - Fatal编程技术网

Python Can';JSON输出中的t访问键:字符串索引必须是整数

Python Can';JSON输出中的t访问键:字符串索引必须是整数,python,json,Python,Json,我正在努力从JSON输出中提取密钥 请求输出此JSON: for (;;);{"__ar":1,"payload":[{"id":"USERID","name":"USERNAME"}]} 此时,为了获得有效的JSON,我去掉了“for(;);”: json_header = (data.text).replace('for (;;);', '') 现在我需要打印USERID和USERNAME。这就是我所尝试的: json_data = json.dumps(json_header) jso

我正在努力从
JSON
输出中提取密钥

请求输出此
JSON

for (;;);{"__ar":1,"payload":[{"id":"USERID","name":"USERNAME"}]}
此时,为了获得有效的JSON,我去掉了“for(;);”:

json_header = (data.text).replace('for (;;);', '')
现在我需要打印USERID和USERNAME。这就是我所尝试的:

json_data = json.dumps(json_header)
json_objects = json.loads(json_data)

print(json_objects['payload']['id'])
但我明白了:

TypeError:字符串索引必须是整数


你能帮我修复代码吗?

我不确定
json\u头
json\u数据
之间的关系是什么。 但是如果你的json是

{"__ar":1,"payload":[{"id":"USERID","name":"USERNAME"}]}
因此,
payload
是一个dict数组。要访问阵列中的第一个(也是唯一一个)dict,请执行以下操作:

payload = json_objects['payload']
first_elemet = payload[0]
id = first_element['id']
print(id)
或全部完成并准备好执行:

import json
json_string = '{"__ar":1,"payload":[{"id":"USERID","name":"USERNAME"}]}'
json_objects = json.loads(json_string)
print(json_objects['payload'][0]['id'])


顺便说一下:使用for循环的原始数据看起来很可怕。如果这应该是JSON,那么它至少很奇怪,在您调用的任何后端中看起来都像一个bug。

print(JSON_对象['payload'][0]['id'])
感谢您如此快速地回答。不幸的是,它仍然给我同样的错误。我知道密码很可怕。事实上,它实际上不应该被请求调用……我以理解代码的方式对它进行了测试(见更新的答案)。如果这不起作用,请粘贴完整的可运行代码段以重现错误。