dnonov/json-parser

对`json_decode`和`json_encode`的轻量级封装,包含异常处理和一些便捷方法。

v1.0.2 2024-09-02 20:35 UTC

This package is auto-updated.

Last update: 2024-09-03 19:18:44 UTC


README

Latest Version on Packagist GitHub Tests Action Status

关于

对`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)。有关更多信息,请参阅许可文件