No puedo convertir cadena JSON a objeto .net en asp.net. Estoy enviando cadena JSON del cliente al servidor utilizando campo oculto (al mantener el JSON Object.toString() en el campo oculto y leer el valor del campo oculto en el código detrás de archivo)Error al convertir JSON a objeto .Net en asp.net
cadena JSON/Objeto:
[[{"OfferId":"1","OrderValue":"11","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"11","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"11","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"2","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"2","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"67","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"67","HostingTypeID":"3"}],
[{"OfferId":"1","OrderValue":"99","HostingTypeID":"6"}],
[{"OfferId":"1","OrderValue":"10","HostingTypeID":"8"}]]
.NET objeto
public class JsonFeaturedOffer
{
public string OfferId { get; set; }
public string OrderValue { get; set; }
public string HostingTypeID { get; set; }
}
código converstion en el código detrás de archivo
byte[] byteArray = Encoding.ASCII.GetBytes(HdnJsonData.Value);
MemoryStream stream = new MemoryStream(byteArray);
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(JsonFeaturedOffer));
object result= serializer.ReadObject(stream);
JsonFeaturedOffer jsonObj = result as JsonFeaturedOffer;
Durante la conversión recibo el siguiente error:
Esperando elemento 'raíz' desde el espacio de nombres '' .. Encontrado 'Ninguno' con nombre '', espacio de nombres ''.
te equivocas en una cosa: es x3-4 veces más lenta de lo que veo en mis pruebas –
Esta es una respuesta de 2010, espero que el serializador json estándar haya mejorado :) – ntziolis
@ntziolis Realmente no. Incluso Microsoft recomienda el uso de Newtonsoft. El rendimiento de JSON.Net es increíble. – krillgar