Как получить значения из dict - PullRequest
0 голосов
/ 10 февраля 2020

Я реализую чат-клиент gui с server-pu sh функциональность . Сообщения, которые будут отправлены, будут выглядеть следующим образом:

yourMessage = {'name': 'David', 'text': 'hello world'}

Я получаю server-pu sh путем вызова streamHandler

def streamHandler(incomingData):
    if incomingData["event"] == "put":
        if incomingData["path"] == "/":
            if incomingData["data"] != None:
                for key in incomingData["data"]:
                    message = incomingData["data"][key]
                    handleMessage(message)
        else:
            message = incomingData["data"]
            handleMessage(message)

Тогда у меня есть функция handleMessage , которая должна получить значения имени и текста:

def handleMessage(message):
    for key in message.values():
        printToMessages(key)

Но теперь я получаю эту ошибку: У объекта 'str' нет атрибута 'значения 1017 * Я пытался сделать сообщение, чтобы диктовать, но безуспешно, есть идеи?

1 Ответ

1 голос
/ 10 февраля 2020

Возможно, параметр message является строкой json.

Если это так, вы можете иметь:

import json

def handleMessage(text):
    message = json.loads(text)
    for key in message.values():
        printToMessages(key)
...