ASP.NET - Devolver un json a partir de una lista

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado 1 puesto en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Devolver un json a partir de una lista

Publicado por Dario (2 intervenciones) el 21/06/2019 23:37:37
Hola soy nuevo programando asp y estoy haciendo una webapi simple tan simple como esto
1
2
3
4
5
6
7
8
9
10
11
12
13
public class PruebaController : ApiController
{
 
    DomEntities BD = new DomEntities ();
 
    public IEnumerable<PRUEBA> Get()
    {
        var LISTADO = BD.PRUEBA.ToList();
 
        return   LISTADO;
 
    }
}

hasta ahi anda bien pero cuando la invoco me da un xml y yo quiero un formato Json,
como puedo modificar el metodo para que devuelva un Json .
imagino que en la declaracion "public Ienumerable, deberia tener otro tipo de datos y el return debería ser algo como Json( listado)

ademas, esto me devuelve un objeto de la table prueba, pero si quiero hacer una consulta con linq en un método get con algun paremetro de consulta a varias tablas con join , como deberia armar todo el metodo?
muchas gracias.
trabajo con vs 2015 y sql server , y lo consumo desde android studio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 56
Bronce
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Devolver un json a partir de una lista

Publicado por Yamil Bracho (1136 intervenciones) el 21/06/2019 23:52:39
Agrega
1
2
3
4
5
[Produces("application/json")]
public class PruebaController : ApiController
{
...
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha aumentado 1 puesto en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Devolver un json a partir de una lista

Publicado por Dario (2 intervenciones) el 21/06/2019 23:54:44
1
2
3
4
5
6
7
8
9
10
11
12
namespace WebApi.Controllers
{
 
    [Produces("application/json")]
    public class PruebaController : ApiController
    {
 
        DomEntities BD = new DomEntities ();
 
        public IEnumerable<PRUEBA> Get()
        {
            var LISTADO = BD.PRUEBA.ToList();

me subraje en rojo la palabra prodeces...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.
Val: 185
Oro
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Devolver un json a partir de una lista

Publicado por Leonardo Daniel A. (84 intervenciones) el 22/06/2019 20:20:24
Hola, el metodo en tu controlador debe regresar un json


1
2
3
4
5
6
7
8
9
10
public class PruebaController : ApiController
{
    DomEntities BD = new DomEntities ();
 
    public JsonResult  Get()
    {
        var LISTADO = BD.PRUEBA.ToList();
        return  Json(LISTADO);
    }
}

Te recomiendo que leas sobre n-capas, para que separes la logica de los controladores.. de tal forma que solo llames a tu clase de logica de productos, clientes, etc. etc.


de tal forma que tenga solamente return Json( ClientesLogica.GetAll() );

y procura usar using para abrir y cerrar la conexion... yo uso NPOCO , no uso Entity FrameWork, pero para el caso es lo mismo, checa este procediminto en mi clase CajasLogica

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
       #region Obtener todos
        public static List<Caja> GetAll()
        {
            var result = new List<Caja>();
            try
            {
                //  el using  abre la conexion, ejecuta los procesos y cierra la conexion
                using (IDatabase db = DBContext.GetInstance())
                {
                    result = db.Query<Caja>().Include(x => x.TipoCaja).OrderBy(x => x.NumEconomico).ToList();
                }
            }
            catch (Exception ex)
            {
                throw;
            }
 
            return result;
        }
        #endregion    
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar