我只是在寻找有关解决我的问题的很好的提示,不一定是完整的解决方案。
我可以通过TCP套接字接收以下字符串:
{"id":"555","jsonrpc":"2.0","result":null,"timestamp":"2018-08-03T17:32:41.894"}
while True:
data = sock.recv(1024).decode('utf-8')
if not data:
sys.exit(0)
我正在尝试使用以下方法解析元素:
if (data["id"] == "555"):
print("found it..now call a function!")
无论我尝试什么,都会收到以下TypeError: 字符串索引必须为整数
我正在使用Python版本3.7。我是Python和编程方面的新手,而且我已经工作了几天。
谢谢!
答案 0 :(得分:0)
Python有一个专门用于这种事情的内置json
库。
import json
...
data = sock.recv(1024).decode('utf-8') # this returns a JSON-formatted String
parsed_data = json.loads(data) # this turns the string into a python dict
if parsed_data['id'] == '555': # because it is now a dictionary, this will work
...