mrbenosborne/json-unmarshal

A PHP 8 package for un-marshalling JSON data onto class properties.

1.0.1 2021-01-12 14:08 UTC

This package is auto-updated.

Last update: 2024-10-28 23:46:28 UTC


README

A PHP package for un-marshalling JSON data onto a class properties.

Build Latest Stable Version Latest Unstable Version License composer.lock

Install

Install via composer.

composer require mrbenosborne/json-unmarshal

Example

Below is an example of a Flight class, the full example can be found in the examples/ folder.

<?php

use JSON\Attributes\JSON;
use JSON\Unmarshal;

include '../vendor/autoload.php';
include 'FlightRoute.php';

/**
 * Class Flight
 */
class Flight
{
    #[JSON(field: 'airline')]
    public string $airlineName;

    #[JSON(field: 'aircraft.type')]
    public string $aircraftType;

    #[JSON(field: 'route', type: FlightRoute::class)]
    public array $route;
}

// Create a new flight class
$flight = new Flight();

// Load our JSON data from file
$jsonData = json_decode(file_get_contents('flight.json'), true);

// Unmarshal JSON
Unmarshal::decode($flight, $jsonData);