12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Serialize\Serializer;
- use Magento\Framework\Serialize\SerializerInterface;
- /**
- * Serialize data to JSON, unserialize JSON encoded data
- *
- * @api
- * @since 101.0.0
- */
- class Json implements SerializerInterface
- {
- /**
- * @inheritDoc
- * @since 101.0.0
- */
- public function serialize($data)
- {
- $result = json_encode($data);
- if (false === $result) {
- throw new \InvalidArgumentException("Unable to serialize value. Error: " . json_last_error_msg());
- }
- return $result;
- }
- /**
- * @inheritDoc
- * @since 101.0.0
- */
- public function unserialize($string)
- {
- $result = json_decode($string, true);
- if (json_last_error() !== JSON_ERROR_NONE) {
- throw new \InvalidArgumentException("Unable to unserialize value. Error: " . json_last_error_msg());
- }
- return $result;
- }
- }
|