• Wir präsentieren Dir heute ein Stellenangebot für einen Frontend-Entwickler Angular / Java in Braunschweig. Hier geht es zur Jobanzeige

Python – Valid Characters in JSON

Kirby.exe

Kirby.exe

Top Contributor
Also ich arbeite gerade an einem Channel System, wo User mithilfe des Bots einen Text Channel erstellen können. Das funktioniert soweit auch, jedoch möchte in nun gerne in einer JSON Datei die Channel ID, die Ersteller ID und den Ersteller Username speichern. Ich frage mich ob "#" in JSON erlaubt ist, da ich mir die Fehlermeldung sonst nicht erklären kann xD

Hier das Speicher Format:

Python:
groups[channel.id] = {"admins": [{"name": author, "id":author_id}], "member": None}

Somit sollte es so aussehen:

JSON:
{
    "78399588939785": {
                        "admins": [
                                {
                                    "name": "Karl#3523",
                                    "id": 37878728787498
                                }
                        ],
                        "member": None
    }
}
 
Kirby.exe

Kirby.exe

Top Contributor
Also ich möchte halt einen Default Wert für Member haben xD Member soll genau wie Admin ein Tuple sein :) Wie könnte ich das anstellen?

Code:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: Object of type Member is not JSON serializable

Das ist der aktuelle Code:

Python:
async def add_group(self, groups, ctx, channel):
        author = ctx.message.author
        author_id = ctx.message.author.id
        print("Author: {}, Author ID: {}".format(author, author_id))
        if not channel.id in groups:
            groups[channel.id] = {"admins": [{"name": author, "id":author_id}], "member": []}

Edit: So wie ich es habe funktionierts xD Der Fehler war, dass er author nicht als String interpretiert hat :) Mal so aus neugier...welchen default wert wählt man bei sowas in JSON?
 
Zuletzt bearbeitet:
Kirby.exe

Kirby.exe

Top Contributor
Ehhhhm ich bin gerade confused xD Wie speichere ich einen neuen Eintrag in das Tuple ohne den alten zu überschreiben xD
 
Kirby.exe

Kirby.exe

Top Contributor
Nevermind es ist erstens kein Tuple sondern eine List und das Element wird einfach per Index gelöscht xD Helper Methods for the Win :)
 

Ähnliche Java Themen

Anzeige

Neue Themen


Oben