Désorganisation JSON des valeurs booléennes flexibles
Lorsque vous traitez des sources de données JSON qui représentent de manière incohérente les valeurs booléennes comme 0/1 et faux/vrai , le package encoding/json standard peut ne pas offrir suffisamment de flexibilité pour l'analyse. Pour résoudre ce problème, nous pouvons implémenter une méthode UnmarshalJSON personnalisée pour étendre les formats booléens acceptés.
Dans l'exemple fourni, nous définissons une structure nommée MyType avec deux champs booléens : AsBoolean et AlsoBoolean. L'entrée JSON correspondante contient les valeurs "true" et "1" pour les champs respectifs.
Pour désorganiser à la fois 0 et false en tant que booléens, nous créons un nouveau type ConvertibleBoolean et implémentons sa méthode UnmarshalJSON. Dans la méthode, nous inspectons les données d'entrée sous forme de chaîne et déterminons la valeur booléenne correspondante en fonction des conditions suivantes :
En personnalisant la méthode UnmarshalJSON, nous pouvons étendre le comportement de démarshaling JSON par défaut et prendre en charge les représentations booléennes non standard dans les données JSON d'entrée. Cette approche nous permet de désorganiser l'entrée JSON dans les valeurs booléennes attendues et de remplir la structure MyType en conséquence.
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!