mrbenosborne/json-unmarshal

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

Installs: 2 680

Dependents: 0

Suggesters: 0

Security: 0

Stars: 12

Watchers: 1

Forks: 4

Open Issues: 4

pkg:composer/mrbenosborne/json-unmarshal

1.0.1 2021-01-12 14:08 UTC

This package is auto-updated.

Last update: 2025-09-29 02:09:47 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);