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.

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 18277 veces | 2 usuarios

Descarga del código fuente Laravel de Cómo Generar JSON desde Laravel

8 descargas

Para descargar el código crea una cuenta

Crear cuenta

Compartir link del tutorial con tus amigos


Laravel Página Web Administrable

USD 17.00

Descarga del código fuente

Laravel Página Web Administrable
ReactJS y Laravel Directorio de Empresas

USD 47.00

Descarga del código fuente

ReactJS y Laravel Directorio de Empresas
Curso de Laravel básico

USD 17.00

Descarga del código fuente

Curso de Laravel básico

Más tutoriales de Laravel

Codea Applications

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

© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024