Maison > Article > développement back-end > Comment désérialiser json avec un tableau anonyme dans Golang ?
Dans Golang, comment utiliser un tableau anonyme pour désérialiser les données json ? C’est un problème que de nombreux développeurs rencontrent souvent. Les tableaux anonymes peuvent facilement gérer certaines structures de données simples sans définir de structures spécifiques. En utilisant le package json intégré de Golang, nous pouvons facilement implémenter cette fonctionnalité. Ci-dessous, l'éditeur PHP Xinyi vous présentera en détail comment utiliser des tableaux anonymes pour désérialiser les données json dans Golang. Nous allons jeter un coup d'oeil!
Je reçois ce json d'un serveur externe :
[["010117", "070117", "080117"], ["080117", "140117", "150117"], ["150117", "210117", "220117"]]
Je dois l'analyser
package main import ( "encoding/json" "fmt" "io" "os" "runtime" ) type Range struct { From string To string Do string } type AllRanges struct { Ranges []Range } func main() { var ranges AllRanges j, err := os.ReadFile(file) if err != nil { panic("Can't read json file") } if json.Unmarshal(j, &v) != nil { panic("Error reading the json") } }
Lorsque j'exécute, une panique se déclenche indiquant qu'une erreur s'est produite lors de la lecture de json
Merci d'avance !
Ce n'est pas un code défaillant. Le code que vous avez publié ne sera pas compilé car il tente de se transformer en une variable non déclarée v
.
En supposant que v
应该是ranges
devrait être
ranges
的类型为 allranges
,它是一个具有命名成员的结构体,ranges
Ainsi, en essayant de désorganiser json dans cette structure, le démarshaler s'attendra à trouver :
{ "ranges": [ { "from": "..", "to": .., "do": ".." }, { etc } ] }
ranges
Pour extraire les données d'un tableau anonyme de tableaux de chaînes, vous devez déclarer en tant que tableau de tableaux de chaînes :
var ranges [][]string ... if json.Unmarshal(j, &ranges) != nil { panic("Error reading the json") }Une fois désorganisé dans ce tableau de tableaux, vous devez écrire du code pour le convertir en la valeur structurée souhaitée.
Ce playground[][]string
montre comment réussir à désassembler des exemples de données dans
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!