字符串消息类型引发TypeError:字符串索引必须为整数

我有这个Python应用程序:

<div style="position:relative">
<canvas id="Canvas1" width="350" height="300"
style="border:6px solid black; position: absolute">
</canvas>

<canvas id="Canvas2" width="200" height="200"
style="border:6px solid black; position:absolute">
</canvas>
</div>

当我运行它时,我得到这个:

import json

class MessageHandler():

    def get_request_id(self,message):
        request_id = None
        message = json.dumps(message)
        print("MESSAGE %s" % message)
        if 'key' in message and 'payload' in message:
            request_id = message['key']['request_id']
        else:
            request_id = message['request_id']
        return request_id

    def get_message(self,message):
        message = json.dumps(message)
        print("MESSAGE %s" % message)
        if 'key' in message and 'payload' in message:
            message = message['payload']
        else:
            message = message
        return message


def main():

    message = "{'payload': {u'event_type': u'Object:Delete',u'format': u'2.0',u'bucket_uuid': u'a352600c-17f8-401b-ab49-7df0ca9fc4ea',u'system_uuid': u'bd607bc3-4f60-77c4-0180-9dd4115ec942',u'object_length': u'22',u'object_name': u'init_put_test0',u'bucket_name': u'container-acb77190-a4ee-47e3-a78b-8bc7cb894a0c',u'request_id': u'e25e9589-6520-437e-83e1-e0d12bd67c16',u'request_time': u'2020-01-16T23:11:36.105Z'},'key': {u'notification_id': u'7e13cb05-488a-47d0-a433-7bwwd33605b8',u'request_id': u'ddo34589-6120-412e-83a1-d12d2bd67c16'}}"

    message_handler = MessageHandler()

    request_id = message_handler.get_request_id(message)
    print("Request ID: %s" % request_id)

    request_id = message_handler.get_message(message)
    print("Message: %s" % request_id)


if __name__ == "__main__":
    main()

我怀疑我需要将Traceback (most recent call last): File "/Users/me/PycharmProjects/Helper/message_handler.py",line 92,in <module> main() File "/Users/me/PycharmProjects/Helper/message_handler.py",line 81,in main kafka_request_id = message_handler.get_request_id(kafka_message_2) File "/Users/me/PycharmProjects/Helper/message_handler.py",line 10,in get_request_id request_id = message['key']['request_id'] TypeError: string indices must be integers MESSAGE "{'payload': {u'event_type': u'Object:Delete',u'request_id': u'ddo34589-6120-412e-83a1-d12d2bd67c16'}}" 转换为可以读取密钥的格式,但是我该怎么做?

yanchengwanghao 回答:字符串消息类型引发TypeError:字符串索引必须为整数

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2755305.html

大家都在问