Maison >développement back-end >Golang >Comment puis-je ajouter une clé « count » à une chaîne JSON avec une structure inconnue ?
Décodage du JSON avec une structure inconnue
La question se pose lorsqu'on tente de modifier une chaîne JSON d'une structure inconnue. L'objectif est d'ajouter une clé "count" au JSON existant :
JSON original :
{ "votes": { "option_A": "3" } }
JSON souhaité :
{ "votes": { "option_A": "3" }, "count": "1" }
Le défi réside dans le variabilité de la structure JSON, ce qui rend peu pratique l'utilisation d'un décodeur JSON conventionnel avec une prédétermination structure.
Solution : désorganiser dans une carte
Pour surmonter ce défi, une approche pratique consiste à désorganiser le JSON dans une carte de chaînes vers des interfaces :
var raw map[string]interface{} json.Unmarshal(in, &raw)
Cela permet la manipulation des données JSON sur une base clé-valeur. Dans ce cas, une nouvelle clé "count" peut être ajoutée :
raw["count"] = 1
Pour générer la chaîne JSON souhaitée, la carte modifiée est remarshalée en chaîne JSON :
out, err := json.Marshal(raw)
Comme par conséquent, la structure JSON inconnue peut être modifiée et la clé "count" peut être ajoutée à volonté.
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!