Maison >développement back-end >Golang >Pourquoi mon serveur HTTP Go ne renvoie-t-il pas de données JSON ?

Pourquoi mon serveur HTTP Go ne renvoie-t-il pas de données JSON ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 09:23:01739parcourir

Why Isn't My Go HTTP Server Returning JSON Data?

Faire des réponses HTTP avec JSON

Dans cette question, l'auteur a rencontré des difficultés pour produire des réponses JSON à partir de son serveur Go HTTP. Après comparaison avec un échantillon de travail, ils ont été déconcertés par les similitudes apparentes de leur code.

Le nœud du problème réside dans la différence entre les variables publiques et non exportées dans les structures Go. L'échantillon de travail utilisait des noms de champs publics (exportés), tels que :

type Profile struct {
  Name    string
  Hobbies []string
}

En revanche, la structure de l'auteur présentait des noms de champs non exportés (minuscules) :

type ResponseCommands struct {
    key   string
    value bool
}

Lors du marshaling des champs non exportés en JSON, l'encodeur les ignorera. Par conséquent, la réponse JSON personnalisée de l’auteur ne contenait aucune donnée. Pour résoudre ce problème, ils doivent s'assurer que leurs noms de champs de structure sont exportés (en majuscules) pour garantir une représentation JSON appropriée.

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