Dans Go, la construction de réponses HTTP avec du contenu JSON peut poser des défis, en particulier lorsqu'il s'agit de résultats nuls. Cet article vise à résoudre un problème courant rencontré lors de la tentative de production de réponses JSON.
Un débutant en Go tente d'implémenter un serveur HTTP simple avec une fonctionnalité de réponse JSON. Cependant, le serveur renvoie systématiquement une réponse vide avec un type de contenu "text/plain; charset=utf-8". Le développeur a comparé son code à un exemple en ligne mais ne parvient à identifier aucune différence.
Le nœud du problème réside dans la visibilité des champs de la structure. Dans Go, les champs de structure doivent être exportés (majuscules) pour être accessibles pour le marshaling JSON.
Exemple de code (original/incorrect) :
<code class="go">type ResponseCommands struct { key string value bool }</code>
Exemple de code (corrigé) :
<code class="go">type ResponseCommands struct { Key string Value bool }</code>
Lorsque les champs sont exportés, l'encodeur JSON peut accéder et encoder correctement leurs valeurs. Ce changement simple mais critique résout le problème et permet au serveur de renvoyer des réponses JSON valides.
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!