2017-07-05 1 views
0

J'essaye d'obtenir le paramètre id du json ci-dessous sans succès, en utilisant C#. Il est un double tableau (utilisateurs/Warings)récupère la valeur du paramètre JSON C#

JSON: 
contents = "{\"users\":[{\"id\":64,\"username\":\"100146\",\"firstname\":\"NAME\",\"lastname\":\"LASTNAME PROFILI\",\"department\":\"\",\"firstaccess\":0,\"lastaccess\":0"}],\"warnings\":[]}" 

ce que j'ai essayé

JavaScriptSerializer serializer = new JavaScriptSerializer(); 
object obj1 = serializer.DeserializeObject(contents); 
object obj2 = obj1["users"]; 
string id = obj2["id"]; 

je reçois une erreur dans obj2. Je ne veux pas créer une classe pour analyser le JSON, il suffit d'extraire la valeur d'id du tableau 'users' est assez

merci pour votre temps!

+0

Quelle est l'erreur que vous obtenez? Certaines informations de base sont utiles –

+0

l'erreur est 'Erreur Impossible d'appliquer l'indexation avec [] à une expression de type' objet 'et il apparaît sur l'objet' obj2 = obj1 ["users"]; ' ligne – user77

Répondre

0

Essayez d'utiliser Newtwonsoft pour cela:

var json = "{\"users\":[{\"id\":64,\"username\":\"100146\",\"firstname\":\"NAME\",\"lastname\":\"LASTNAME PROFILI\",\"department\":\"\",\"firstaccess\":0,\"lastaccess\":0}],\"warnings\":[]}"; 

dynamic data = JObject.Parse(json); 

var id = data.users[0].id; 
+0

téléchargement newtonsoft .. de retour bientôt à marquer comme réponse si s'adapte ... merci! – user77

+0

qui a fait l'affaire, merci! – user77

1

Essayez d'utiliser la dynamique plutôt que le type d'objet:

dynamic d = JObject.Parse("{\"users\":[{\"id\":64,\"username\":\"100146\",\"firstname\":\"NAME\",\"lastname\":\"LASTNAME PROFILI\",\"department\":\"\",\"firstaccess\":0,\"lastaccess\":0"}],\"warnings\":[]}"); 

var usersCount = d.users.Count; 
var warningsCount = d.warnings.Count; 

var id = d.users[0].id; 
+0

Salut thiago, je vais donner un essai sur cela, ne savait pas Newtwonsoft – user77

0

Je n'ai pas essayé, mais essayez d'utiliser object1 [ "utilisateurs"] [ "id "]

+1

salut urvil, j'ai essayé ceci et ai eu quelques erreurs, le fizx utilisait le json.net – user77