dnonov / json-parser
对`json_decode`和`json_encode`的轻量级封装,包含异常处理和一些便捷方法。
v1.0.2
2024-09-02 20:35 UTC
Requires (Dev)
- orchestra/testbench: ^6.46
README
关于
对`json_decode`和`json_encode`的轻量级封装,包含异常处理和一些便捷方法。
要求
PHP 7.4^
安装
您可以通过composer安装此包
composer require dnonov/json-parser
描述
这主要是因为`json_decode`的静默错误;如果出错,它会返回`null`。我更喜欢异常和更友好的方法名称。它是一个非常薄的PHP标准库中三个函数的封装,但我已经厌倦了每次都重写它。
以下是使用方法
use Dnonov\JsonParser\Facades\JSONParser; $arrayData = JSONParser::decodeToArray("[{"one": 1, "two": 2}]"); $objectData = JSONParser::decodeToObject("[{"one": 1, "two": 2}]"); $array = ["one" => 1, "two" => 2]; $encodedArrayData = JSONParser::encode($array); // Make sure file path is relative to `base_path()`. $arrayFileData = JSONParser::decodeFromFileToArray("./data.json"); $objectFileData = JSONParser::decodeFromFileToObject("./data.json"); // There are some handy methods. $object = JSONParser::arrayToObject(["one" => 1, "two" => 2]); $array = JSONParser::objectToArray($object);
解码和编码过程中可能会抛出各种异常。
- JsonMaxDepthException
- JsonInvalidOrMalformedException
- JsonControlCharacterException
- JsonSyntaxErrorException
- JsonMalformedUTF8Exception
- JsonRecursiveReferenceException
- JsonInfinityOrNanDetectedException
- JsonUnsupportedTypeException
- JsonException
- InvalidArgumentExceptions
有关PHP Doc中等效错误的文档,请参阅PHP文档
贡献
欢迎提交错误报告和pull请求。
许可
MIT许可证(MIT)。有关更多信息,请参阅许可文件。