php-enspired / simple-json
json 编码/解码的便捷包装器。
2.0
2021-04-01 02:59 UTC
Requires
- php-enspired/exceptable: ^3.0
This package is auto-updated.
Last update: 2024-09-29 05:30:12 UTC
README
简单:json
简单的 包专注于提供直接、简洁的解决方案,以满足常见需求。
Json 是 json 编码/解码的便捷包装器。其主要目的是设置合理的默认值,并使管理编码/解码选项变得简单。
依赖项
需要 php 7.3 或更高版本。
安装
推荐安装方法是通过 Composer:只需 composer require php-enspired/simple-json。
基本用法
默认情况下,对象被解码为关联数组,大整数被解码为字符串(而不是转换为浮点数)。
编码数据时,大整数被编码为字符串,"零"分数被保留(而不是编码为整数),并且斜杠和 Unicode 字符不会被转义。为了防止意外的/不可预测的结果,除非对象是 stdClass 或实现了 JsonSerializable,否则对象不会被编码。
编码和解码在出错时都会抛出异常;这不能被覆盖。
Json 定义了一些用于编码/解码选项集的常量。作为便利,这些选项也可以通过静态工厂方法设置。
ENCODE_ASCII:默认编码选项,但取消设置JSON_UNESCAPED_UNICODE。ENCODE_HEX:所有JSON_HEX_*选项。ENCODE_HTML:默认编码选项,但取消设置JSON_UNESCAPED_SLASHES。ENCODE_PRETTY:默认编码选项,并设置JSON_PRETTY_PRINT。
<?php use AT\Simple\Json\Json; // example data $a = ["foo" => "one", "bar" => "two"]; // basic encoding and decoding (note $assoc = true is the default mode) $json = Json::default(); $j = $json->encode($a); // {"foo":"one","bar":"two"} $a === $json->decode($j); // bool (true) // special options - e.g., "pretty" formatting Json::pretty()->encode($a); /* { "foo": "one", "bar": "two" } */ // decoding objects as stdClass (new Json([Json::DECODE_ASOOC => false]))->decode($j); /* object(stdClass)#1 (2) { ["foo"]=> string(3) "one" ["bar"]=> string(3) "two" } */
文档
贡献或寻求帮助
我在 Freenode 的 #php-enspired 频道,或者在 GitHub 上提交问题。欢迎反馈。