Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daniel-zahariev/json2php
Convert JSON to PHP representation
https://github.com/daniel-zahariev/json2php
Last synced: 17 days ago
JSON representation
Convert JSON to PHP representation
- Host: GitHub
- URL: https://github.com/daniel-zahariev/json2php
- Owner: daniel-zahariev
- Created: 2012-12-14T07:58:34.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2024-08-07T12:50:38.000Z (3 months ago)
- Last Synced: 2024-10-03T05:09:10.967Z (about 1 month ago)
- Language: CoffeeScript
- Size: 69.3 KB
- Stars: 5
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
json2php
========### Installation
To install json2php you could clone the project from Github or use NPM to install it.
```bash
$ 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.
```javascript
s = json2php('Hello World!')
// => s = 'Hello World!'
```#### Number
Numbers are the same.
```javascript
s = json2php(123)
// => s = '123'
```#### Boolean
```javascript
s = json2php( true )
// => s = 'true'
```#### Undefined/Null
`null` and `undefined` are returned as `null`
```javascript
s = json2php(undefined)
// => s = 'null'
```#### Array
```javascript
s = json2php([1, 2, 3])
// => s = 'array(1, 2, 3)'
```#### Object
```javascript
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
```javascript
s = json2php(new Date())
// => s = "null"
```### Pretty printing
Create custom 'printers' with `json2php.make`:```javascript
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`:```javascript
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.
```bash
$ npm test
```#### CoffeeScript Source
But in any case you will depend on `coffee-script`
```bash
$ 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