No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Importando datos

8/26
Recursos

Aportes 7

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

En el constructor de la clase LinqQueries el editor indica que hay un warning.
Si la clase JsonSerializer no puede deserializar el JSON devuelve NULL.
Para evitar ese warning hacemos lo siguiente:

  1. Le colocamos el operador ! que indica que el dato es non-nullable.
JsonSerializer.Deserialize<List<Book>>(json, new JsonSerializerOptions { PropertyNameCaseInsensitive = true })!
  1. Asignamos un valor por default si la deserializaci贸n devuelve NULL.
    Estoy creando una lista vac铆a.
JsonSerializer.Deserialize<List<Book>>(json, new JsonSerializerOptions { PropertyNameCaseInsensitive = true }) ?? Enumerable.Empty<Book>().ToList();

Para serializar us茅 la librer铆a NewtonSoft, estaba acostumbrado a ella y el c贸digo me quedo as铆

Yo se que este no es un curso de C#, pero me parece que el profesor no esta explicando nada,esta solamente desarrollando un ejercicio para el misimo, y no estoy de acuerdo, este tiepo de cursos asi es muy reiterativo en Platzi, es dificil llevar el ritmo en ocasiones.

public class Book
{
public string? Title {get;set;}
public int PageCount {get;set;}
public string? Status {get;set;}
public DateTime PublishedDate {get;set;}
public string[]? Authors {get;set;}
public string[]? Categories {get;set;}
}

falto la clase e importante ponerlos signos de Interrogacion para los valores nulos鈥 Buen aporte @Mairon Andres

Como aporte, hice algunos cambios al c贸digo propuesto agregando primero que todo como una constante de tipo string para guardar la ubicaci贸n del archivo json, segundo en el constructor agrego dos validaciones siendo la primera en la l铆nea 9 para confirmar que si existe el archivo para poder leerlo, la segunda en la l铆nea 14 para validar que el archivo tenga contenido y por ultimo dejo dentro de la misma clase el m茅todo de imprimir para que solo desde el m茅todo Program despu茅s de inicializar se haga el llamada al m茅todo. En la imagen se muestra todo el contenido mencionado

C贸digo de la clase LinqQueries.cs

C贸digo del Program.cs

Resultado del C贸digo

Vista Completa desde el editor

Para las personas que est茅n trabajando con Visual Studio Comunity es recomendable que el archivo 鈥渂ooks.json鈥 se lo guarde en la carpeta /bin/Debug/net para que no les de error al momento de extraer los datos.

Para que te quede ordenado, puedes aplicar una tablucai贸n con el caracter \t

Console.WriteLine("{0, -70}\t{1, 7}\t{2, 11}\n", "Titulo", "N. Paginas", "Fecha Publicaci贸n");
foreach(var item in listaDeLibros){
    Console.WriteLine("{0, -70}\t{1, 7}\t\t{2, 11}", item.Title, item.PageCount, item.PublishedDate);