Inicio » Blog » Laravel

24 octubre, 2018

Cómo Generar JSON desde Laravel

Para generar JSON en Laravel debemos usar un response con el método json(), este convierte cualquier consulta en formato JSON, ideal para una API Rest.

Ver video en

Suscríbete a nuestro canal en Youtube

Suscríbirse

Las aplicaciones web modernas han estado evolucionando de forma acelerada, uno de los últimos avances es el trabajo mediante servicios RESTful, o servicios web, es decir, no depender de estados, si no que trasladamos los datos con los métodos HTTP, esto nos da una gran versatilidad, porque podemos mezclar diferentes tecnologías y lenguajes de programación para lograr desarrollar aplicaciones muy avanzadas; como por ejemplo comunicar una aplicación android u otra aplicación web.

¿Para que se usa Json en una aplicación web?

Entre las mezclas más utilizadas en la actualidad está tener un sistema de persistencia programado, que en este caso puede ser en PHP con Laravel y luego todo el front-end manejarlo con Javascript, u otro lenguaje que solo se encargue de la capa de presentación.

Para poder comunicarse ambas partes dependen de un lenguaje en común y este es JSON, con lo cual la transmisión de datos puede darse bajo un dialecto en común y así evitar incompatibilidades.

Laravel no proporciona un método de uso muy fácil :

¿Cómo generar Json desde un Array?

 

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class FrontController extends Controller
{
    public function index(){
      
        $data = [
            'success'=>true,
            'categorias' => array(
                array('nombre'=>'luis', 'edad'=>20),
                array('nombre'=>'Dean', 'edad'=>21)
            )
        ];
        return response()->json($data, 200, []);
    }
}

El resultado es el siguiente:

{"success":true,"categorias":[{"nombre":"luis","edad":20},{"nombre":"Dean","edad":21}]}

¿Cómo generar JSON desde una Base de datos Mysql?

En este ejemplo realizamos dos consultas:

  1. A la tabla Categoria
  2. Y a la tabla Empresa

El método response::json() transforma o parsea la consultas a formato JSON, antes los datos los convertimos a Array en este ejemplo, es aqui donde se puede ser versatil para crear las estructuras que necesitemos en la aplicación que estemos creando

Generar JSON Laravel

En el cual declaramos dos tablas que ha ser convertidas en arrays , el método json() los convierte a formato Json, y pues ya podemos usarlo para nuestras aplicaciones web.

El resultado del Json es el siguiente:

{"success":true,"categorias":[{"id":1,"nombre":"Tecnolog\u00eda","descripcion":"Empresas de tecnolog\u00edas e internet"},{"id":2,"nombre":"Marketing","descripcion":"Marketing"},{"id":3,"nombre":"Salud","descripcion":"Salud"}],"empresas":[{"id":1,"nombre":"Dev Web SAC","descripcion":"Dev Web SAC","precio":"10.00","subcategoria_id":2,"created_at":null,"updated_at":null},{"id":2,"nombre":"Comer Bien SA","descripcion":"Comer Bien SA","precio":"17.00","subcategoria_id":6,"created_at":null,"updated_at":null},{"id":3,"nombre":"Masajes Sanadores EIRL","descripcion":"Masajes Sanadores EIRL","precio":"24.00","subcategoria_id":5,"created_at":null,"updated_at":null},{"id":4,"nombre":"Imagen Alternativa SRL","descripcion":"Imagen Alternativa SRL","precio":"45.00","subcategoria_id":1,"created_at":null,"updated_at":null},{"id":5,"nombre":"Web Digital SRL","descripcion":"Web Digital SRL","precio":"12.00","subcategoria_id":2,"created_at":null,"updated_at":null},{"id":6,"nombre":"JL Web ","descripcion":"JL Web ","precio":"232.00","subcategoria_id":2,"created_at":null,"updated_at":null}]}

Conclusión final

Pudimos ver que fue muy fácil construir el controlador, esto es gracias a la clase Response, ya que con el método que en ella reside json(), podemos asegurarnos que todos los arrays que le pasemos serán convertidos de forma válida al formato JSON, por lo que podemos pasarle por ejemplo un contenido dinámico de una búsqueda de base de datos, esto nos facilita la vida ya que no tenemos que construir a mano una funcionalidad que construya un resultado JSON.


Leido 17026 veces

Descarga el código fuente Laravel

Recurso descargado 8 veces

USD

Descargar Código Fuente

Compartir link del tutorial con tus amigos


App para Pizzería con delivery App para Pizzería con delivery

Curso App para pizzería en Laravel y Android vinculado a WhatsApp

Descarga del código fuente

USD 30.00

Comentarios con Roles en Laravel Comentarios con Roles en Laravel

Curso Laravel Desarrollo de un Sistema de Comentarios con Roles

Descarga del código fuente

USD 9.00

Flutter y Laravel App de Turismo Flutter y Laravel App de Turismo

Curso de Flutter y Laravel desarrollo de una App de Turismo

Descarga del código fuente

USD 17.00

Flutter y Laravel Tienda Delivery Flutter y Laravel Tienda Delivery

Curso Flutter y Laravel desarrollo de una app Tienda de Abarrotes

Descarga del código fuente

USD 17.00

Laravel 9 Página Web para Negocio Laravel 9 Página Web para Negocio

Curso Laravel 9 Avanzado Desarrollo Web Administrable para negocio

Descarga del código fuente

USD 33.00

Laravel 11 Página Web Administrable Laravel 11 Página Web Administrable

Curso Laravel 11 aprende a desarrollar una Página Web Administrable

Descarga del código fuente

USD 57.00

ReactJS y Laravel Directorio de Empresas ReactJS y Laravel Directorio de Empresas

Curso ReactJS y Laravel desarrollo fullstack directorio empresarial

Descarga del código fuente

USD 47.00

Aprende más sobre Laravel

Cursos de programación

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023