l'accès aux éléments dans un json.net jarray en c#
Mon api retourne
{
"result": [
{
"id": "51473",
"name": "serv-vc",
"modifydate": "2014-10-09 18:29:48.033",
"expirationoff": "false",
"createdate": "",
"scheduleoff": "false",
}
],
"status": 0
}
que j'ai stocké comme un JObject reponseobj
Je vais avoir de la difficulté à trouver comment accéder à responseobj["result"][0]["id"]
chaque fois que j'essaie qu'il donne un tableau au sujet d'être en dehors des limites.
Ce qui me manque?
J'ai aussi essayé
JArray resultarr = (JArray)responseobj.SelectToken("result");
resultarr[0]["id"]
mais avoir les mêmes résultats.
- Êtes-vous sûr que votre tableau résultat a toujours des données? Vous obtiendrez un tableau en dehors des limites de l'exception si elle est vide, et vous essayez d'accéder à l'élément 0 (ou tout autre élément).
Vous devez vous connecter pour publier un commentaire.
En supposant que la réponse est dans une variable chaîne de caractères appelée
response
, ce serait faire:Ne savez pas quel est votre problème, mais cela semble fonctionner pour moi :
Essayez d'utiliser:
Et à l'accès aux différents nœuds, vous pouvez utiliser:
Ou vous pouvez convertir
result
dans une nouvelle json un travail sur elleEt à l'accès à l'
result
que vous pouvez faire:var result = jObject["result"][0];
N'oubliez pas que vous pouvez avoir 0, 1, 2... x nombre de résultats dans votre json, alors vous avez besoin de faire référence à la première position.
result
est un tableau, etname
etexpirationoff
sont les propriétés d'un objet à l'intérieur de la matrice.