soy nuevo en Json así que un poco de verde.Deserialize json con json.net C#
Tengo un servicio basado en el resto que devuelve una cadena json;
{"treeNode":[{"id":"U-2905","pid":"R","userId":"2905"},
{"id":"U-2905","pid":"R","userId":"2905"}]}
He estado jugando con el Json.net y tratando de deserializar la cadena en objetos etc. escribí un método de extensión para ayudar.
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;
}
Estaba esperando una matriz de objetos treeNode []. Pero parece que solo puedo deserializar correctamente si la propiedad treeNode [] de otro objeto.
public class treeNode
{
public string id { get; set; }
public string pid { get; set; }
public string userId { get; set; }
}
¿Hay alguna manera de obtener una matriz directa de la deserialización?
Saludos
No, si se especifica el tipo de raíz correcta en la llamada a deserializar, Json.NET sabrán los tipos. – erikkallen
¿Qué sucede si mi propiedad tiene tipo base y su valor es tipo derivado? Soap es compatible con este tipo de mapeo. JSON no lo admite por completo. –