2017 © Pedro Peláez
 

library json-fixer

Fix/repair truncated JSON data

image

adhocore/json-fixer

Fix/repair truncated JSON data

  • Sunday, July 22, 2018
  • by adhocore
  • Repository
  • 2 Watchers
  • 11 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

adhocore/json-fixer

PHP library to fix Truncated JSON data by padding contextual counterpart to the end. Works with PHP5.4 or above., (*1)

Latest Version Travis Build Scrutinizer CI Codecov branch StyleCI Software License Donate 15 Donate 25 Donate 50 Tweet, (*2)

It is a work in progress and might not cover all edge cases. It would be great if you try it out, open some issues or contribute., (*3)

Installation

composer require adhocore/json-fixer

Usage

use Ahc\Json\Fixer;

$json = (new Fixer)->fix('{"a":1,"b":2');
// {"a":1,"b":2}

$json = (new Fixer)->fix('{"a":1,"b":true,');
// {"a":1,"b":true}

$json = (new Fixer)->fix('{"b":[1,[{"b":1,"c"');
// {"b":[1,[{"b":1,"c":null}]]}

// For batch fixing, you can just reuse same fixer instance:
$fixer = new Fixer;

$fixer->fix('...');
$fixer->fix('...');
// ...

Error

If there's error and fixer cant fix the JSON for some reason, it will throw a RuntimeException. You can disable this behavior by passing silent flag (2nd param) to fix() in which case original input is returned:, (*4)

(new Fixer)->silent()->fix('invalid');
// 'invalid'

(new Fixer)->silent(true)->fix('invalid');
// 'invalid'

(new Fixer)->silent(false)->fix('invalid');
// RuntimeException

Missing Value

By default missing values are padded with null. You can change it passing desired value to missingValue():, (*5)

// key b is missing value and is padded with `null`
$json = (new Fixer)->fix('{"a":1,"b":');
// {"a":1,"b":null}

// key b is missing value and is padded with `true`
$json = (new Fixer)->missingValue(true)->fix('{"a":1,"b":');
// {"a":1,"b":true}

// key b is missing value and is padded with `"truncated"`
// Note that you can actually inject a whole new JSON subset as 3rd param
// but that should be a valid JSON segment and is not checked by fixer.
$json = (new Fixer)->missingValue('"truncated"')->fix('{"a":1,"b":');
// {"a":1,"b":"truncated"}

Todo

  • [ ] Configurable missing value as per context (options)

The Versions

22/07 2018

dev-master

9999999-dev

Fix/repair truncated JSON data

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Jitendra Adhikari

php json php-json-fixer truncated-json json-fixer truncation-fixer rectify-json fix-json

22/07 2018

v0.0.2

0.0.2.0

Fix/repair truncated JSON data

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Jitendra Adhikari

php json php-json-fixer truncated-json json-fixer truncation-fixer rectify-json fix-json

22/07 2018

dev-develop

dev-develop

Fix/repair truncated JSON data

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Jitendra Adhikari

php json php-json-fixer truncated-json json-fixer truncation-fixer rectify-json fix-json

21/07 2018

0.0.1

0.0.1.0

Fix/repair truncated JSON data

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Jitendra Adhikari

php json php-json-fixer truncated-json json-fixer truncation-fixer rectify-json fix-json