plumphp/plum-json

该包的最新版本(v0.3)没有可用的许可证信息。

v0.3 2015-05-07 16:53 UTC

This package is auto-updated.

Last update: 2024-09-08 15:16:17 UTC


README

Plum

PlumJsons 包含用于 JSON 字符串和文件的读取器、编写器和转换器。Plum 是 PHP 的数据处理管道。

Build Status Windows Build status Scrutinizer Code Quality Code Coverage StyleCI

由 Florian Eckerstorfer 在欧洲维也纳开发。

功能

读取器

  • JsonFileReader 从磁盘读取 .json 文件并将其解码
  • JsonReader 解码 JSON 字符串

编写器

  • JsonFileWriter 将对象/数组编码成 JSON 并将其保存到磁盘
  • JsonWriter 将对象/数组编码成 JSON 并返回字符串

转换器

  • JsonDecodeConverter 接收一个 JSON 字符串并将其解码
  • JsonEncodeConverter 接收一个对象/数组并将其编码成 JSON

安装

您可以使用 Composer 安装 Plum。

$ composer require plumphp/plum-json

使用方法

有关 Plum 的一般信息,请参阅 Plum 文档

JsonReader

Plum\PlumJson\JsonReader 读取 JSON 字符串。如果您想读取 .json 文件,请查看 JsonFileReader

use Plum\PlumJson\JsonReader;

$reader = new JsonReader('[{'key1': 'value1', 'key2': 'value2'}]');
$reader->getIterator(); // -> \ArrayIterator
$reader->count();

JsonFileReader

Plum\PlumJson\JsonFileReader 读取 .json 文件。

use Plum\PlumJson\JsonFileReader;

$reader = new JsonFileReader('foo.json');
$reader->getIterator(); // -> \ArrayIterator
$reader->count();

JsonFileWriter

Plum\PlumJson\JsonFileWriter 将项目作为 JSON 写入文件。

use Plum\PlumJson\JsonFileWriter;

$writer = new JsonFileWriter('foobar.json');
$writer->writeItem(['key1' => 'value1', 'key2' => 'value2'));
$writer->finish();

必须调用 finish(),因为实际的写入操作发生在此时。prepare() 方法不执行任何操作。

JsonWriter

Plum\PlumJson\JsonWriter 将项目转换为 JSON 格式。如果您想将 JSON 写入文件,请查看 JsonFileWriter

use Plum\PlumJson\JsonWriter;

$writer = new JsonWriter();
$writer->writeItem(['key1' => 'value1', 'key2' => 'value2'));
echo $writer->getJson(); // [{'key1': 'value1', 'key2': 'value2'}]

JsonDecodeConverter

Plum\PlumJson\JsonDecodeConverter 使用 Braincrafted\Json 解码 JSON。

use Plum\PlumJson\JsonDecodeConverter;
use Braincrafted\Json\Json;

$converter = new JsonDecodeConverter(Json::DECODE_ASSOC);
$converter->convert('{"foo": "bar"}'); // -> ['foo' => 'bar']

JsonEncodeConverter

Plum\PlumJson\JsonEncodeConverter 使用 Braincrafted\Json 将对象编码为 JSON。

use Plum\PlumJson\JsonEncodeConverter;

$converter = new JsonEncodeConverter();
$converter->convert(['foo' => 'bar']); // -> '{"foo": "bar"}'

变更日志

版本 0.3(2015 年 5 月 7 日)

  • 添加 JsonDecodeConverter
  • 添加 JsonEncodeConverter

版本 0.2(2015 年 4 月 22 日)

  • 添加对 ReaderFactory 的支持

版本 0.1(2015 年 2 月 17 日)

  • 初始发布

许可证

MIT 许可证适用于 plumphp/plum-json。有关完整的版权和许可信息,请参阅随源代码一起分发的 LICENSE 文件。