Foros del Web » Programación para mayores de 30 ;) » .NET »

Deserialize json Camelcase

Estas en el tema de Deserialize json Camelcase en el foro de .NET en Foros del Web. Hola, hay alguna manera de deserializar un json que viene por ejemplo { nombreObjeto1: { atributo1: "valor1", atributo2: "valor2"}} a mi estructura que es class ...
  #1 (permalink)  
Antiguo 07/10/2011, 09:11
Avatar de johnnygomez  
Fecha de Ingreso: octubre-2007
Mensajes: 166
Antigüedad: 16 años, 6 meses
Puntos: 0
Deserialize json Camelcase

Hola, hay alguna manera de deserializar un json que viene por ejemplo

{ nombreObjeto1: { atributo1: "valor1", atributo2: "valor2"}}

a mi estructura que es

class NombreObjeto1{
Atributo1
Atributo2
}

O que tengan distintos nombres, no solo entre camelCase y PascalCase.

De momento estoy utilizando el JavaScriptSerializer con un CustomTypeResolver ya que tengo un ObjetoBase que contiene una coleccion de elementos "AbstractElement".

Código PHP:

            
var serializer = new JavaScriptSerializer(new CustomTypeResolver());

            
ObjetoBase test serializer.Deserialize<ObjetoBase >(json); 
Desde ya muchas gracias!!!
__________________
Quien no encuentra ninguna falla en sí mismo, necesita una segunda opinión.
  #2 (permalink)  
Antiguo 13/10/2011, 07:32
Avatar de johnnygomez  
Fecha de Ingreso: octubre-2007
Mensajes: 166
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Deserialize json Camelcase

Bueno, estoy utilizando Json.net.

Código PHP:
            JsonSerializerSettings settings = new JsonSerializerSettings ContractResolver = new CamelCasePropertyNamesContractResolver(), Binder = new TypeBinder(), TypeNameHandling TypeNameHandling.Objects };
            
string json JsonConvert.SerializeObject(pageFormatting.Nonesettings); 
esto es lo que envio a un editor java, pero luego el mismo editor me devuelve otro json actualizado.

El problema esta en que el $type contiene todo el assembly y yo solo necesito el nombre de la clase para que el "Binder" que seteo indica que objeto debe crear.

Hay alguna manera de especificar que en vez de todo el assembly solo sea el nombre de la clase?
__________________
Quien no encuentra ninguna falla en sí mismo, necesita una segunda opinión.

Etiquetas: c#, camelcase, json, pascalcase, serialize
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:22.