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!