Maison >développement back-end >Golang >Comment désorganiser les chaînes JSON échappées dans Go ?
Désagrégation des chaînes JSON échappées avec Go
Lors de l'utilisation de Sockjs avec Go, vous pouvez rencontrer des problèmes lors de l'analyse des chaînes JSON échappées reçues des clients JavaScript comme [ ]octet. Cela peut entraîner des messages d'erreur tels que « json : impossible de transformer la chaîne en valeur Go ». Pour résoudre ce problème, vous pouvez utiliser une méthode simple pour annuler l'échappement de la chaîne avant de l'annuler.
Utilisation de strconv.Unquote
strconv.Unquote() est un outil intégré Fonction Go qui supprime les caractères échappés d'une chaîne. En l'appliquant à la chaîne JSON reçue, vous pouvez effectivement la supprimer.
Voici comment procéder :
import ( "encoding/json" "fmt" "strconv" ) type Msg struct { Channel string Name string Msg string } func main() { var msg Msg var val []byte = []byte(`"{\"channel\":\"buu\",\"name\":\"john\", \"msg\":\"doe\"}"`) s, _ := strconv.Unquote(string(val)) err := json.Unmarshal([]byte(s), &msg) fmt.Println(s) fmt.Println(err) fmt.Println(msg.Channel, msg.Name, msg.Msg) }
Dans cet exemple, la chaîne JSON échappée est supprimée avec succès à l'aide de strconv .Unquote(), et les données sont analysées dans la structure Msg sans erreurs.
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!