Je développe une application en C# qui peut contrôler un SqueezeboxServer (SBS). Communiquer à la SBS est par l'intermédiaire de messages JSON à http://serverIP:9000/jsonrpc.js Donc, j'envoie des messages JSON via un HTTPWepRequest et obtenir des réponses via une HTTPWebResponse.Comment extraire des informations d'un objet produit par JavaScriptSerializer
La réponse que je reçois est une chaîne en notation JSON. Et c'est là que les problèmes commencent ... Pour l'instant je convertis le message JSON en Object avec le JavaScriptSerializer. Cela va comme ceci:
public static Object FromJSON(this string reply)
{
JavaScriptSerializer deSerializer = new JavaScriptSerializer();
return deSerializer.DeserializeObject(reply);
}
Ce code me donne un objet qui contient les données que je demande. Les données que je demande peuvent être très différentes. Parfois, la réponse est une réponse unique alors que dans d'autres situations, cela peut être multiple.
Considérons les deux images que j'ai inclus:
Le premier montre l'objet après qu'il a été renvoyé par le désérialiseur. Vous pouvez voir l'objet est un dictionnaire avec 4 paires clé-valeur. Le kvp qui m'intéresse est le 4ème. La clé "résultat" est celle qui contient les données dont j'ai besoin. Mais cette clé a un autre Dictonary comme valeur. Et cela continue encore et encore jusqu'à ce que les données réelles que je veux, qui est le nom de l'album et son ID.
alt text http://www.freeimagehosting.net/uploads/865397a19e.jpg
Dans la deuxième image les données que je veux est la valeur 0 qui appartient à la clé « _count ». Comme vous pouvez le voir, cet objet est moins compliqué.
alt text http://www.freeimagehosting.net/uploads/f6feb27ab5.jpg
Ainsi, la ligne de fond de ma question est de savoir comment puis-je faire une solution qui permet de récupérer les informations que je veux, mais travaille avec differt sortes d'objets (comme dans des profondeurs différentes)?
J'espère que n'importe qui peut m'envoyer dans la bonne direction.
Merci!