Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.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中删除json时出错_Python - Fatal编程技术网

&引用;字符串索引必须是整数;在Python中删除json时出错

&引用;字符串索引必须是整数;在Python中删除json时出错,python,Python,所以我想从一个网站上获取一些数据。网址是 https://rbx.rocks/apis/item?id=1285307 所以现在我有 print requests.get('https://rbx.rocks/apis/item?id=1285307').json()[0]['stats'] 如果运行,则给出错误“字符串索引必须是整数” 我目前正在运行python 2.7,您需要解析JSON对象 将json.loads()添加为: 要确定错误源,您可以执行“一次一个操作”,并获取结果的详细信

所以我想从一个网站上获取一些数据。网址是

https://rbx.rocks/apis/item?id=1285307
所以现在我有

print requests.get('https://rbx.rocks/apis/item?id=1285307').json()[0]['stats']
如果运行,则给出错误“字符串索引必须是整数”


我目前正在运行python 2.7,您需要解析JSON对象

将json.loads()添加为:


要确定错误源,您可以执行“一次一个操作”,并获取结果的详细信息,例如

a = requests.get('https://rbx.rocks/apis/item?id=1285307')
print(a, type(a))
b = a.json()
print(b, type(b))
c = b[0]
print(c, type(c))
d = c['stats']
print(d, type(d))
这显然不是解决方案,但:

  • 这可能会有帮助
  • 这不适合评论

  • 尝试删除
    [0]
    仍会出现相同的错误。打印
    请求的结果。获取('https://rbx.rocks/apis/item?id=1285307').json()[0]
    只打印“{”这就是问题所在。您试图使用索引“stats”对字符串“{”进行索引,显然这是没有意义的。当您这样做时,
    [0]
    您将获得json中的第一个字符(
    {
    )。您只需执行
    .json()
    (无
    [0]
    ),然后稍微解析该json。谢谢。我曾想过执行json.loads,但当我执行该操作时,我将其设置为
    打印json.loads(requests.get('https://rbx.rocks/apis/item?id=1285307').json()['stats'])
    我明白了。您可以按照@sancho bellow的建议单独打印每个步骤,以避免将来出现此类问题。我从未想过这一点。谢谢您的帮助。
    a = requests.get('https://rbx.rocks/apis/item?id=1285307')
    print(a, type(a))
    b = a.json()
    print(b, type(b))
    c = b[0]
    print(c, type(c))
    d = c['stats']
    print(d, type(d))