Ich habe folgende JSON-StringDeserialize Array-Objekt mit Newtonsoft Json.Net
[
{
"itemtype": "note",
"body": "some text"
},
{
"itemtype": "list",
"items": [
{
"item": "some text"
},
{
"item": "some text"
}
]
},
{
"itemtype": "link",
"url": "some link"
}
]
Was ich brauche in C# zu analysieren. Meine Zeichenfolge könnte Fehlercodes wie folgt aus (oder andere unbekannte Fehlercodes) return
{"Error":"You need to login before accessing data"}
Oder es könnte nur ein leeres Array (keine Daten)
[]
Hier ist mein Code
public void ParseData(string inStr) {
if (inStr.Trim() != "") {
dynamic result = JsonConvert.DeserializeObject(inStr);
if (result is Array) {
foreach (JObject obj in result.objectList) {
switch (obj.Property("itemtype").ToString()) {
case "list": // do something
break;
case "note": // do something
break;
case "link": // do something
break;
}
}
} else {
// ... read error messages
}
}
}
Problem
In obigem Code result
ist nie vom Typ Array
. in der Tat habe ich keine Möglichkeit, zu überprüfen, was sein Typ ist (ich versuchte typeof).
Frage
Wie kann ich überprüfen, ob ich ein Array in String haben und wie kann ich überprüfen, ob es Objekte in ihm hat (Bitte beachten Sie, dies ist nicht eine typisierte Array)
Versuchen für 'JArray' Überprüfung ... – petelids
Post ist als Antwort und ich wähle up, danke – AaA