Heim  >  Artikel  >  Backend-Entwicklung  >  Golang mehrere JSON

Golang mehrere JSON

PHPz
PHPznach vorne
2024-02-09 10:42:09874Durchsuche

Golang 多个 json

php-Editor Banana zeigt Ihnen, wie Sie mehrere JSONs in Golang verarbeiten. In Golang müssen wir häufig mehrere JSON-Objekte verarbeiten. Beispielsweise können die von der API-Schnittstelle erhaltenen Daten ein JSON-Array sein. Um den Umgang mit dieser Situation zu erleichtern, können wir das JSON-Paket von Golang verwenden, um mehrere JSON-Objekte zu analysieren und zu verarbeiten. Mit dem JSON-Paket können wir JSON-Daten in Golang in Strukturen analysieren und die Strukturen dann bedienen und verarbeiten. Auf diese Weise können wir problemlos mehrere JSON-Objekte verarbeiten. Natürlich können wir auch einige Bibliotheken von Drittanbietern wie GJSON verwenden, um mehrere JSON-Objekte flexibler und effizienter zu verarbeiten. Im Allgemeinen bietet Golang verschiedene Möglichkeiten zur Verarbeitung mehrerer JSON-Objekte, und Entwickler können die geeignete Methode entsprechend ihren eigenen Anforderungen auswählen.

Frageninhalt

Ich habe ein JSON an den Client gesendet, es hat 2 Varianten, der einzige Unterschied ist ein Feldnamen-Push/Pull, wie kann ich das machen, ohne die Struktur-Tags für eine zu duplizieren

"message": "Project updated successfully.",
        "data": {
            "push": {
                "projects": [
                    {
                        "name": "test",
                        "summary": "nn",
                    
                    }
                ],
                "events": []
            }
        }
    }
    "message": "Project updated successfully.",
        "data": {
            "pull": {
                "projects": [
                    {
                        "name": "test",
                        "summary": "nn",
                    
                    }
                ],
                "events": []
            }
        }
    }

`

Ich denke darüber nach, eine Datumsfeldschnittstelle zu erstellen und eine andere Struktur zu ersetzen.

Problemumgehung

Definieren Sie einfach einen einzelnen Typ mit Push- und Pull-Feldern:

type A struct {
    Message string `json:"message"`
    Data    struct {
        Push *B `json:"push,omitempty"`
        Pull *B `json:"pull,omitempty"`
    } `json:"data"`
}

type B struct {
    Projects []struct {
        Name    string `json:"name"`
        Summary string `json:"summary"`
    } `json:"projects"`
    Events []interface{} `json:"events"`
}

Überprüfen Sie Null nach der Dekodierung, um festzustellen, um welche Art von Ereignis es sich handelt.

Das obige ist der detaillierte Inhalt vonGolang mehrere JSON. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen