Maison  >  Article  >  développement back-end  >  Comment gérer les données JSON avec des structures imbriquées dans Golang ?

Comment gérer les données JSON avec des structures imbriquées dans Golang ?

WBOY
WBOYoriginal
2024-06-02 12:41:57837parcourir

Traitement des données JSON structurées imbriquées dans Go : utilisez le package encoding/json pour encoder et décoder les données JSON. Utilisez la fonction json.Unmarshal() pour décoder les données JSON en structures imbriquées. Utilisez la fonction json.Marshal() pour encoder les structures imbriquées en JSON. Accédez aux données imbriquées en accédant aux champs de la structure. Obtenez et décodez les données JSON structurées imbriquées à partir de l'API.

如何在 Golang 中处理有嵌套结构的 JSON 数据?

Comment traiter des données JSON avec une structure imbriquée dans Go

Dans Go, vous pouvez utiliser le package encoding/json pour traiter facilement des données JSON avec une structure imbriquée. Ce package fournit des fonctions puissantes pour encoder et décoder les données JSON. encoding/json 包轻松处理嵌套结构的 JSON 数据。这个包提供了对 JSON 数据进行编解码的强大功能。

编解码嵌套结构

要对嵌套结构进行编码或解码,你可以使用 json.Unmarshal()json.Marshal()

Encodage et décodage des structures imbriquées

Pour encoder ou décoder des structures imbriquées, vous pouvez utiliser les fonctions json.Unmarshal() et json.Marshal().

// 嵌套结构的 JSON 数据
jsonStr := `{"name": "John Doe", "age": 30, "address": {"street": "123 Main St", "city": "New York"}}`

// 解码 JSON 数据到嵌套结构
type Person struct {
    Name string
    Age  int
    Address Address
}

var person Person
err := json.Unmarshal([]byte(jsonStr), &person)
if err != nil {
    // 处理错误
}

// 访问嵌套字段
fmt.Println(person.Name) // John Doe
fmt.Println(person.Address.Street) // 123 Main St

// 编码嵌套结构为 JSON
jsonBytes, err := json.Marshal(person)
if err != nil {
    // 处理错误
}

// 输出 JSON 数据
fmt.Println(string(jsonBytes))

🎜 Cas pratique : obtenir des données depuis l'API🎜🎜🎜Maintenant, regardons un cas pratique dans lequel nous obtiendrons des données JSON contenant des structures imbriquées à partir de l'API et les décoderons en une structure Go. 🎜
package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

type Post struct {
    ID          int

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