通过键从字典中提取值,字符串索引必须是整数
Extracting values from a dictionary by key, string indices must be integers
我正在尝试从 websocket-client 通过键接收到的字典中提取值,但出于某种原因,它抛出一个错误“字符串索引必须是整数”。
无论我如何尝试去做,我都会不断遇到同样的错误,除非我将它写成代码行然后它就可以工作,不幸的是那不是我所追求的...
示例:
ws = websocket.WebSocket()
ws.connect("websocket link")
info = ws.recv()
print(info["c"])
ws.close()
输出:
Traceback (most recent call last):
File "C:\Python\project\venv\example\example.py", line 14, in <mod
ule>
print(info["c"])
TypeError: string indices must be integers
虽然如果我使用同一本词典并突然写下来,它会起作用...
示例:
example = {"a":"hello","b":123,"c":"whatever"}
print(example["c"])
输出:
whatever
感谢任何帮助,谢谢!
解决方案
首先你必须在收到字典 json 对象时导入 websocket 和 json 模块,然后你必须加载那个 json 对象。
import websocket
import json
ws = websocket.WebSocket()
ws.connect("websocket link")
info = json.loads(ws.recv())
print(info["c"])
ws.close()
您从网络套接字收到的字典可能是一个 json 对象:
import websocket
import json
ws = websocket.WebSocket()
ws.connect("websocket link")
info = json.loads(ws.recv())
print(info["c"])
ws.close()
首先你必须在收到字典 json 对象时导入 websocket 和 json 模块
然后你必须加载 json 个对象。
import websocket
import json
然后加载
info = json.loads(ws.recv())
我正在尝试从 websocket-client 通过键接收到的字典中提取值,但出于某种原因,它抛出一个错误“字符串索引必须是整数”。 无论我如何尝试去做,我都会不断遇到同样的错误,除非我将它写成代码行然后它就可以工作,不幸的是那不是我所追求的...
示例:
ws = websocket.WebSocket()
ws.connect("websocket link")
info = ws.recv()
print(info["c"])
ws.close()
输出:
Traceback (most recent call last):
File "C:\Python\project\venv\example\example.py", line 14, in <mod
ule>
print(info["c"])
TypeError: string indices must be integers
虽然如果我使用同一本词典并突然写下来,它会起作用...
示例:
example = {"a":"hello","b":123,"c":"whatever"}
print(example["c"])
输出:
whatever
感谢任何帮助,谢谢!
解决方案
首先你必须在收到字典 json 对象时导入 websocket 和 json 模块,然后你必须加载那个 json 对象。
import websocket
import json
ws = websocket.WebSocket()
ws.connect("websocket link")
info = json.loads(ws.recv())
print(info["c"])
ws.close()
您从网络套接字收到的字典可能是一个 json 对象:
import websocket
import json
ws = websocket.WebSocket()
ws.connect("websocket link")
info = json.loads(ws.recv())
print(info["c"])
ws.close()
首先你必须在收到字典 json 对象时导入 websocket 和 json 模块 然后你必须加载 json 个对象。
import websocket
import json
然后加载
info = json.loads(ws.recv())