Comment utiliser la fonction json.Marshal dans Golang pour convertir une structure en chaîne JSON
Dans le développement de logiciels modernes, la transmission et le stockage de données utilisent souvent le format JSON (JavaScript Object Notation). En langage Go, on peut utiliser la fonction json.Marshal pour convertir une structure en chaîne JSON.
La fonction json.Marshal se trouve dans le package encoding/json, et sa signature de fonction est la suivante :
func Marshal(v interface{}) ([]byte, error)
où v est la variable de structure à convertir en chaîne JSON, et la fonction renvoie une tranche d'octets et un erreur. Si la conversion réussit, la tranche d'octets renvoyée est une représentation de la chaîne JSON ; si la conversion échoue, une erreur non nulle est renvoyée.
Ci-dessous, nous utilisons un exemple spécifique pour montrer comment utiliser la fonction json.Marshal pour convertir une structure en chaîne JSON.
package main import ( "encoding/json" "fmt" ) type Student struct { Name string Age int Score float64 } func main() { student := Student{ Name: "Alice", Age: 20, Score: 89.5, } // 将结构体转换为JSON字符串 jsonStr, err := json.Marshal(student) if err != nil { fmt.Println("转换失败:", err) return } fmt.Println(string(jsonStr)) }
Exécutez le code ci-dessus, le résultat de sortie est :
{"Name":"Alice","Age":20,"Score":89.5}
Dans le code ci-dessus, nous définissons une structure Student, puis créons une variable student et lui attribuons une valeur initiale. Ensuite, nous appelons la fonction json.Marshal pour convertir l'étudiant en chaîne JSON et obtenir la variable jsonStr. Enfin, nous imprimons le jsonStr en utilisant fmt.Println.
Il convient de noter que la fonction json.Marshal convertit les noms de champs de la structure en noms d'attributs JSON et convertit les valeurs d'attribut dans le type JSON approprié. Par défaut, les noms d'attribut dans la chaîne JSON convertie sont tous des lettres minuscules. Si vous souhaitez conserver la casse d'origine du nom du champ, vous pouvez utiliser la directive json
dans la balise du champ structure pour la définir.
Par exemple :
type Student struct { Name string `json:"name"` Age int `json:"age"` Score float64 `json:"score"` }
De cette façon, les noms d'attributs dans la chaîne JSON convertie seront cohérents avec les noms des champs de la structure d'origine.
Pour résumer, nous pouvons convertir la structure en chaîne JSON en utilisant la fonction json.Marshal. Cette fonction est très pratique et peut gérer automatiquement la conversion de types de données complexes et la correspondance des noms de champs. Avec cette fonction, nous pouvons facilement gérer la transmission et le stockage des données JSON en langage Go.
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!