Heim >Backend-Entwicklung >Golang >Wie extrahiere ich JSON-Daten aus einem Anforderungstext in Go?

Wie extrahiere ich JSON-Daten aus einem Anforderungstext in Go?

Barbara Streisand
Barbara StreisandOriginal
2024-10-31 16:26:49805Durchsuche

How to Extract JSON Data from a Request Body in Go?

JSON aus dem Anfragetext in Go abrufen

Problem:

Erfassung des rohen JSON-Textes einer POST-Anfrage als String oder Schnittstelle zum Speichern in einem JSONB-Datenbankfeld.

Lösung:

1. Rufen Sie den Anforderungstext ab:

<code class="go">bodyBytes, _ := ioutil.ReadAll(context.Request().Body)</code>

2. Stellen Sie den Anforderungstext wieder her:

Da der http.Response.Body ein Puffer ist, der nicht mehrmals gelesen werden kann, stellen Sie ihn vor jeder weiteren Verarbeitung wieder her:

<code class="go">context.Request().Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))</code>

3. Dekodieren Sie den JSON:

Jetzt können Sie die Body-Bytes verwenden, um den JSON in einen String oder eine Schnittstelle zu dekodieren:

<code class="go">var rawJSON string
if err := json.Unmarshal(bodyBytes, &rawJSON); err != nil {
    // Handle error
}</code>

Das obige ist der detaillierte Inhalt vonWie extrahiere ich JSON-Daten aus einem Anforderungstext in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn