Convertir archivo JSON a listado objeto con C#
Codigo para leer un archivo JSON y convertirlo en un objeto de C#,
Dada la clase Producto
using AmcWeb2.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.IO;
using System.Linq;
using System.Resources;
public class Producto
{
public int Id { get; set; }
public string Nombre { get; set; }
public double Precio { get; set; }
public string Descripcion { get; set; }
public string RutaDeImagen { get; set; }
public string PaginaDetallesDeProducto { get; set; }
}
Contenido en archivo JSON
[
{
"id": 1,
"Nombre": "Calendarios",
"Descripcion": "Bajo diseño desde ",
"Precio": 15
},
{
"id": 2,
"Nombre": "Cuadros decorativos",
"Descripcion": "Bajo diseño desde ",
"Precio": 16
},
{
"id": 3,
"Nombre": "Etiquetas Para Eventos",
"Descripcion": "Bajo diseño desde ",
"Precio": 17
},
{
"id": 4,
"Nombre": "Logotipos",
"Descripcion": "Bajo diseño desde ",
"Precio": 18
}
]
Se puede consultar solo un elemento del archivo JSON con el siguiente método
public Producto RegresaDetallesDeProducto(int idProducto)
{
string jsFile = AppDomain.CurrentDomain.BaseDirectory + @"\Productos.json";
var json = "";
string rutaBase = ConfigurationManager.AppSettings.Get("rutaImagenes");
try
{
using (StreamReader r = new StreamReader(jsFile))
{
json = r.ReadToEnd();
var items = JsonConvert.DeserializeObject<List<Producto>>(json);
foreach (var item in items)
{
if (item.Id == idProducto)
{
return new Producto
{
Id = item.Id,
Nombre = item.Nombre,
Descripcion = item.Descripcion,
Precio = item.Precio,
RutaDeImagen = rutaBase + item.Nombre + ".jpg",
PaginaDetallesDeProducto = "/Producto/DetalleDeProducto?idProducto=" + item.Id
};
}
}
}
}
catch (Exception ex)
{
throw;
}
return new Producto();
}
Para obtener toda la información del archivo de json, se puede realizar el siguiente método.
public List<Producto> RegresaProductos()
{
var listaDeImagenes = new List<Producto>();
string jsonProductos = ConfigurationManager.AppSettings.Get("jsonProductos");
string jsFile = AppDomain.CurrentDomain.BaseDirectory + jsonProductos;
string rutaBase = ConfigurationManager.AppSettings.Get("rutaImagenes");
string rutaProducto = "";
var json = "";
try
{
using (StreamReader r = new StreamReader(jsFile))
{
json = r.ReadToEnd();
var items = JsonConvert.DeserializeObject<List<Producto>>(json);
foreach (var item in items)
{
listaDeImagenes.Add(new Producto
{
Id = item.Id,
Nombre = item.Nombre,
Descripcion = item.Descripcion,
Precio = item.Precio,
RutaDeImagen = rutaBase + item.Nombre + ".jpg",
PaginaDetallesDeProducto = "/Producto/DetalleDeProducto?idProducto=" + item.Id
});
}
}
}
catch (Exception ex)
{
throw;
}
return listaDeImagenes;
}
CREAR Y MODIFICAR UN ARCHIVO .TXT
MANEJO DE DIRECTORIOS Y ARCHIVOS
Comprimir y descomprimir archivos
Exportar tablas sql server a csv
Llenar LIST VIEW con tabla SQL SERVER
Crear una gráfica con tabla de SQL SERVER
Llamar un Web API MVC HttpClient
Llamar un Stored Procedure de SQL desde C#
Llamar un Stored Procedure de SQL desde C# para web api
Convertir JSON a Excel con Javascript
Convertir archivo JSON a listado objeto con C#
Servicio Get y POST en TypeScript y C#
Otros
Obtener divisas desde una página bancaria
Links the interes
Run dataset with SP and queries in C#
Llenar un DataSet al ejecutar un Stored Proc
C# Web API Sending Body Data in HTTP Post REST Client
Angular - HTTP POST Request Examples
Working with FormData in Angular 13
YouTube
Crear aplicación ANGULAR con API REST .NET 7 | ✅ Publicar en HOSTING✅