Comment Désérialiser les données JSON?
Je suis nouveau sur le travail avec les données JSON.
Je suis de la lecture des données à partir d'un service web. Les données de la requête envoyée de retour est la suivante:
[["B02001_001E","NAME","state"],
["4712651","Alabama","01"],
["691189","Alaska","02"],
["6246816","Arizona","04"],
["18511620","Florida","12"],
["9468815","Georgia","13"],
["1333591","Hawaii","15"],
["1526797","Idaho","16"],
["3762322","Puerto Rico","72"]]
Est-il un moyen de Désérialiser les données de telle manière que l'objet de base sera généré sans moi tout d'abord de définir ce que l'objet est comme? Dans l'exemple ci-dessus, l'objet est défini par la première ligne:
["B02001_001E","NAME","state"],
En général le service web sera de retour à la requête de données de formaté en deux dimensions tableau JSON où la première ligne donne les noms de colonnes et les lignes suivantes fournissent des valeurs de données.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez désérialiser ce vraiment facilement. Les données de la structure en C# est juste
List<string[]>
vous pouvez donc le faire;Le code ci-dessus est en supposant que vous êtes en utilisant json.NET.
EDIT: Notez le json est techniquement un tableau de tableaux de chaîne. Je préfère utiliser
List<string[]>
pour mon propre déclaration parce que c'est de l'omi, plus intuitive. Il ne causera pas de problèmes pour json.NET si vous voulez qu'il soit un tableau de tableaux de chaîne, alors vous devez changer le type de (je pense)string[][]
mais il y a quelques drôles de petites gotcha avec irréguliers et les tableaux 2D en C# que je ne sais vraiment pas sur donc je ne fais pas la peine de le traiter ici.Si vous utilisez .Net 4.5, vous pouvez également utiliser la norme .Net sérialiseur json:
Dans .Net 4.5 et plus, vous pouvez utiliser la classe JavaScriptSerializer:
Étape 1: Aller à json.org pour trouver la librairie JSON pour quelle que soit la technologie que vous utilisez pour appeler ce service web. Télécharger et le lien à la bibliothèque.
Étape 2: disons que vous êtes à l'aide de Java. Vous utilisez JSONArray comme ceci:
Vous pouvez écrire votre propre parser JSON et de la rendre plus générique basé sur votre condition. En voici un qui a servi mon but bien, espérons, vous aideront aussi.