如何使用 Python 访问嵌套字典中的字符串数据
How to acces string data in nested dictionary with Python
我从 RPC 服务器收到以下响应:
{"jsonrpc": "2.0", "result": {"errorMessage": "'DUT':1'IMEI':123456789,'debug_msg':11", "result": "True", "version": "2"}, "id": 2}
如何获取嵌套字典中“IMEI”的值,答案是“123456789”?
我试过了:
response = {"jsonrpc": "2.0", "result": {"errorMessage": "'DUT':1'IMEI':123456789,'debug_msg':11", "result": "True", "version": "2"}, "id": 2}
errorMessage = response["result"]["errorMessage"]
print (errorMessage[1])
但我只得到字符串 DUT 的第二个字符。
要解决的第一个问题是返回字符串的格式不一致,对于这种情况,可以使用 string
class 的 replace
方法来解决此问题 class:
response = {"jsonrpc": "2.0", "result": {"errorMessage": "'DUT':1'IMEI':123456789,'debug_msg':11", "result": "True", "version": "2"}, "id": 2}
errorMessage = "{"+response["result"]["errorMessage"].replace("'IMEI'",",'IMEI'").replace("'","\"")+"}"
然后您可以使用 json
模块中的 loads
方法读取字符串。
from json import loads
errorDict = loads(errorMessage)
print (errorDict["IMEI"])
我从 RPC 服务器收到以下响应:
{"jsonrpc": "2.0", "result": {"errorMessage": "'DUT':1'IMEI':123456789,'debug_msg':11", "result": "True", "version": "2"}, "id": 2}
如何获取嵌套字典中“IMEI”的值,答案是“123456789”?
我试过了:
response = {"jsonrpc": "2.0", "result": {"errorMessage": "'DUT':1'IMEI':123456789,'debug_msg':11", "result": "True", "version": "2"}, "id": 2}
errorMessage = response["result"]["errorMessage"]
print (errorMessage[1])
但我只得到字符串 DUT 的第二个字符。
要解决的第一个问题是返回字符串的格式不一致,对于这种情况,可以使用 string
class 的 replace
方法来解决此问题 class:
response = {"jsonrpc": "2.0", "result": {"errorMessage": "'DUT':1'IMEI':123456789,'debug_msg':11", "result": "True", "version": "2"}, "id": 2}
errorMessage = "{"+response["result"]["errorMessage"].replace("'IMEI'",",'IMEI'").replace("'","\"")+"}"
然后您可以使用 json
模块中的 loads
方法读取字符串。
from json import loads
errorDict = loads(errorMessage)
print (errorDict["IMEI"])