From 738c721a2be3bfc1692a0b02b46f369e99ee8797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5?= Date: Sun, 29 Nov 2020 03:55:45 +0300 Subject: [PATCH] Init commit --- .gitignore | 11 +++++++++++ README | 44 ++++++++++++++++++++++++++++++++++++++++++++ composer.json | 22 ++++++++++++++++++++++ examples/example.php | 32 ++++++++++++++++++++++++++++++++ src/Json.php | 28 ++++++++++++++++++++++++++++ 5 files changed, 137 insertions(+) create mode 100644 .gitignore create mode 100644 README create mode 100644 composer.json create mode 100644 examples/example.php create mode 100644 src/Json.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4742f9c --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +# Created by .ignore support plugin (hsz.mobi) +### Composer template +composer.phar +/vendor/ +/.idea +/composer.lock + +# Commit your application's lock file https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control +# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file +# composer.lock + diff --git a/README b/README new file mode 100644 index 0000000..18e2feb --- /dev/null +++ b/README @@ -0,0 +1,44 @@ +# Реализация [JSON_FLOAT_AS_STRING](https://wiki.php.net/rfc/json_numeric_as_string) для json_decode + +Когда вы имеете дело с финансами, очень важно не потерять точность при декодировании json строки с помощью ```json_decode()```. Единственное обходное решение, - это использовать ```preg_replace``` для добавления кавычек в исходную строку JSON. Данный метод ```Json::float_safe($string)``` позволяет это сделать. + + - Не изменяет структуру самого JSON (пробелы, переносы...) + - Обрамляет кавычками экспоненциальный формат числа + - Работает достаточно быстро + +### Пример использования: + +```php +=5.6.0", + "ext-json": ">=1.2.0" + }, + "autoload": { + "psr-4": { + "alglyzin\\Json\\": "src/" + } + } +} \ No newline at end of file diff --git a/examples/example.php b/examples/example.php new file mode 100644 index 0000000..69a56af --- /dev/null +++ b/examples/example.php @@ -0,0 +1,32 @@ +