Download the PHP package eftec/services_json without Composer
On this page you can find all versions of the php package eftec/services_json. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download eftec/services_json
More information about eftec/services_json
Files in eftec/services_json
Package services_json
Short Description PHP implementaion of json_encode/decode
License BSD-2-Clause
Informations about the package services_json
Services_JSON
PHP implementation of json_encode/decode for PHP 7.2 and higher. This library works with and without quoted keys.
This package provides a simple encoder and decoder for JSON notation. It is intended for use with client-side Javascript applications that make use of HTTPRequest to perform server communication functions - data can be encoded into JSON notation for use in a client-side javascript, or decoded from incoming Javascript requests. JSON format is native to Javascript, and can be directly eval() with no further parsing overhead.
So, what is the goal with this version?
While this version doesn't have a better performance than json_encode() and json_decode() available as extension, but it has the next features:
- [x] it doesn't require an extension. If you can't install ext-json, then you can use this version.
- [x] it works with JSON with unquoted keys (for example JavaScript notation), {aaa:2,bbb:"hello"}
- [x] it could also work with unquoted values {"aaa":2,"bbb":hello}
- [x] it could also work with unwrapped content "aaa":2,"bbb":"hello" instead of {aaa:2,bbb:"hello"}
- [x] It is a simple .php file with no dependency.
Usage
Getting started using composer
-
Install the library using composer
- Include the dependency
See the folder examples for further examples
Getting started without composer
-
Copy this file: Services_JSON/Services_JSON.php
- Include the file
Decode
Decode a JSON string into a stdclass or an associative array
It also works with unquoted keys
Json unwrapped.
With the flag Services_JSON::DECODE_FIX_ROOT, it also works when the origin text misses [] and {} at the start of the code. Note, this feature is not foolproof, for example "[1,2,3],[4,5,6]" will not wrap as "[[1,2,3],[4,5,6]]"
Note: DECODE_FIX_ROOT flag detects if the near character is ":" or ",". If the closest character is ":", then it returns an object, otherwise it returns a list. If there is none, then it returns a list.
Json with unquoted values
With the flag Services_JSON::DECODE_NO_QUOTE it also works when the string values are not quoted.
Note: invisible characters at the beginner and at the end (tabs, line carriages) will be trimmed.
Encode
Encode transform a value (array, object, primitive value, etc.) into a json expression (a string)
Changelog
- 2.4
- update requirements to php 7.4
- added more type hinting (type validation)
- 2.3.2
- Added flag to decode() DECODE_NO_QUOTE
- 2.3.1
- deleted unused code
- fixed comments.
- 25% of the code has been refactored.
- 2.3
- Fixed a typo with a comment.
- added phpunit. The entire code is tested but special codification.
- 2.2
- Now the library is static, so you can call the methods without creating an instance.
- If you want to work with the non-static library, then install 1.1
- 1.1
- It works with PHP 7.2 and higher (including PHP 8.0 and 8.1)
- It doesn't require PECL to work.
- The code was cleaned
- Web header is removed.
- Method decode() could return an associative array.
- 1.0.3-1.0.0 PECL version. It only works with PHP 4.x and PHP 5.x