json2php

0.0.9 • Public • Published

json2php

Installation

To install json2php you could clone the project from Github or use NPM to install it.

$ npm install json2php

Usage

Convert JavaScript object/array/string/number/boolean to string that is the corresponding PHP representation.

String

When the content is just a string the output will be the same string.

s = json2php('Hello World!')
// => s = 'Hello World!'

Number

Numbers are the same.

s = json2php(123)
// => s = '123'

Boolean

s = json2php( true )
// => s = 'true'

Undefined/Null

null and undefined are returned as null

s = json2php(undefined)
// => s = 'null'

Array

s = json2php([1, 2, 3])
// => s = 'array(1, 2, 3)'

Object

s = json2php({a: 1, b: 2, c: 'text', false: true, undefined: null})
// => s = "array('a' => 1, 'b' => 2, 'c' => 'text', 'false': true, 'undefined': null)"

Non-valid JSON

s = json2php(new Date())
// => s = "null"

Pretty printing

Create custom 'printers' with json2php.make:

const printer = json2php.make({linebreak:'\n', indent:'\t', shortArraySyntax: true})
printer({one: 3, two: 20, three: [9, 3, 2]})

/* result:.
[
	'one' => 3, 
	'two' => 20, 
	'set' => [
		9, 
		3, 
		2
	]
]
*/

Compressing the output

To compress the output (e.g. to make the resulting PHP as small as possible), use shortArraySyntax with stripSpaces:

const printer = json2php.make({shortArraySyntax: true, stripSpaces: true})
printer({
  arr: [1, 2, 3, 4, 5, {foo: 'surprise!'}],
  obj: {
    arr: [{foo: 'bar', bar: 'baz', arr2: [1, 2]}]
  }
})

// result:
// ['arr'=>[1,2,3,4,5,['foo'=>'surprise!']],'obj'=>['arr'=>[['foo'=>'bar','bar'=>'baz','arr2'=>[1,2]]]],'test'=>'str']

For Contributors

Tests

To run test we use mocha framework.

$ npm test

CoffeeScript Source

But in any case you will depend on coffee-script

$ npm run build

Changelog

0.0.9

  • Add stripSpaces to pretty print options (thanks to @noahtallen)

0.0.7

  • Add shortArraySyntax to pretty print options

0.0.6

  • Add pretty print capability via json2php.make (thanks to @stokesman)

0.0.5

  • Update and clean up (thanks to @SumoTTo)
  • Add boolean type (thanks to @SumoTTo)

0.0.4

  • Fix for single quotes escaping (thanks to @ksky521)

0.0.3

  • Fixed the case when non-valid JSON is passed
  • Fixing the bug with the object section

0.0.2

  • Adding the package.json to Git repository, also package dependency
  • Changes into the file structure
  • Adding CoffeeScript source ( Not finished yet )
  • Adding Cakefile and task test
  • Adding Mocha for test framework.
  • Adding test, src, lib directory
  • Adding tests

0.0.1

  • Init the project into NPM
  • module.exports for Node.js
  • Added json2php into the global scope with global.json2php

Readme

Keywords

Package Sidebar

Install

npm i json2php

Weekly Downloads

56,932

Version

0.0.9

License

BSD

Unpacked Size

10.8 kB

Total Files

6

Last publish

Collaborators

  • daniel-zahariev