RodrigoToroIcarte / IIC2113-2023-1

6 stars 0 forks source link

[Entrega 1] Problema Deserialize superstar.json #8

Open antoniafuica opened 1 year ago

antoniafuica commented 1 year ago

Hola! Estoy teniendo un problema deserializando el json superstar, especificamente con los atributos que son ints. Estos se me transforman y guardan con valor 0. Porque podría estar pasando esto?

RodrigoToroIcarte commented 1 year ago

¿Estás siguiendo los pasos de la clase 5 para leer el json?

antoniafuica commented 1 year ago

Si! Con el json cards me funcionó perfecto, solo estoy teniendo problemas con los ints del json superstar.

felipecs13 commented 1 year ago

Hola! Me paso lo mismo y lo solucione usando la librería Newtonsoft.Json debido a que el convertidor que se mostró en clase pedía usarla. Hay algun impedimento en usar esta libreria para la lectura? El metodo que usan en la pagina es: JsonConvert.DeserializeObject

RodrigoToroIcarte commented 1 year ago

Aaah, ahora entiendo el problema. Claro, hay que quitar los espacios en los atributos del json para que funcione directo con el código de la clase. Subí una nueva versión del código base que también incluye un superstar2.json. Ese json debería ser llegar e importar en caso de que lo quieran usar. Si no lo usan no pasa nada. Mientras el código pase los test cases todo bien :)

javiermarhuich commented 1 year ago

Holaaa, en mi caso no tuve que usar ninguna librería aparte.

Cambié los JsonProperty que forma la web con la que pasamos de JSON a clase de C# (la que aparece en las diapositivas de la clase) por JsonPropertyName. Además, para que funcionara tuve que importar la namespace de serialización de JSON: using System.Text.Json.Serialization;

RodrigoToroIcarte commented 1 year ago

Me gustó esa solución :)

sebaav12 commented 1 year ago

Hola! Me paso lo mismo y lo solucione usando la librería Newtonsoft.Json debido a que el convertidor que se mostró en clase pedía usarla. Hay algun impedimento en usar esta libreria para la lectura? El metodo que usan en la pagina es: JsonConvert.DeserializeObject

Hola! tengo la misma duda, se puede utilizar esta libreria?

RodrigoToroIcarte commented 1 year ago

No lo recomiendo. No es necesario (y, hasta donde tengo entendido, esa librería requiere instalar un paquete extra). Usa esta solución https://github.com/RodrigoToroIcarte/IIC2113-2023-1/issues/8#issuecomment-1487452808 o simplemente el superstar2.json. Cualquiera de esas soluciones te tomará 2 minutos implementarlas :)