bin neu zu Json so ein wenig grün.Deserialize json mit json.net C#
Ich habe einen Rest Based Service, der eine JSON-Zeichenfolge zurückgibt;
{"treeNode":[{"id":"U-2905","pid":"R","userId":"2905"},
{"id":"U-2905","pid":"R","userId":"2905"}]}
ich mit dem Json.net gespielt haben und versuchen, die Zeichenfolge in Objekte usw. I Methode zu helfen, schrieb eine Erweiterung deserialisieren.
public static T DeserializeFromJSON<T>(this Stream jsonStream, Type objectType)
{
T result;
using (StreamReader reader = new StreamReader(jsonStream))
{
JsonSerializer serializer = new JsonSerializer();
try
{
result = (T)serializer.Deserialize(reader, objectType);
}
catch (Exception e)
{
throw;
}
}
return result;
}
Ich erwartete ein Array von treeNode [] Objekte. Aber es scheint, dass ich die Eigenschaft treeNode [] eines anderen Objekts nur korrekt deserialisieren kann.
public class treeNode
{
public string id { get; set; }
public string pid { get; set; }
public string userId { get; set; }
}
Ich habe einen Weg, um nur eine gerade Reihe von der Deserialisierung zu bekommen?
Prost
Nein, wenn Sie den richtigen Stammtyp in dem Aufruf angeben Deserialize wird Json.NET wissen die Typen. – erikkallen
Was passiert, wenn meine Eigenschaft Basistyp hat und der Wert abgeleitet ist? Soap unterstützt diese Art der Zuordnung. JSON unterstützt es nicht vollständig. –