kunststube / rison
A PHP encoder and decoder for Rison, the compact JSON-like data format optimized for URIs.
Installs: 50 936
Dependents: 3
Suggesters: 1
Security: 0
Stars: 23
Watchers: 3
Forks: 1
Open Issues: 1
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-11-09 15:05:41 UTC
README
Rison is a compact data format optimized for URIs, a slight variation of JSON.
JSON:
{"a":0,"b":"foo","c":"23skidoo"}
URI-encoded JSON:
%7B%22a%22:0,%22b%22%3A%22foo%22%2C%22c%22%3A%2223skidoo%22%7D
Rison:
(a:0,b:foo,c:'23skidoo')
URI-encoded Rison:
(a:0,b:foo,c:'23skidoo')
See http://mjtemplate.org/examples/rison.html for more information and other implementations.
Usage
Procedural/convenience wrapper
require_once 'Rison/rison_functions.php'; $data = array('foo', 'bar' => array('baz')); // encoding $rison = Kunststube\Rison\rison_encode($data); var_dump($rison); // decoding $data = Kunststube\Rison\rison_decode($rison); var_dump($data);
Object oriented
require_once 'Rison/RisonEncoder.php'; require_once 'Rison/RisonDecoder.php'; use Kunststube\Rison; $data = array('foo', 'bar' => array('baz')); // encoding try { $encoder = new Rison\RisonEncoder($data); $rison = $encoder->encode(); var_dump($rison); } catch (InvalidArgumentException $e) { echo $e->getMessage(); } // decoding try { $decoder = new Rison\RisonDecoder($rison); $data = $decoder->decode(); var_dump($data); } catch (Rison\RisonParseErrorException $e) { echo $e->getMessage(), ' in string: ', $e->getRison(); } catch (InvalidArgumentException $e) { echo $e->getMessage(); }
PSR-0
The repository is organized so its contents can be dumped into a folder Kunststube/Rison/
and the naming be PSR-0 compliant.
Information
Version: 0.92
Author: David Zentgraf
Contact: rison@kunststube.net
License: Public Domain