Maison >développement back-end >Golang >Comment extraire les données JSON d'un corps de requête dans Go ?

Comment extraire les données JSON d'un corps de requête dans Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-31 16:26:49802parcourir

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

Obtention du JSON à partir du corps de la requête dans Go

Problème :

Capturer le corps JSON brut d'une requête POST sous forme de chaîne ou d'interface à stocker dans une base de données JSONB champ.

Solution :

1. Récupérer le corps de la requête :

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

2. Restaurer le corps de la requête :

Étant donné que http.Response.Body est un tampon qui ne peut pas être lu plusieurs fois, restaurez-le avant tout traitement ultérieur :

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

3. Décoder le JSON :

Maintenant, vous pouvez utiliser les octets du corps pour décoder le JSON en une chaîne ou une interface :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn