JSONLite 体积对比 介绍
介绍
JSONLite 是 JSON 的简化版。减少字符输出的同时,仍保持数据有效性。
建议PHP版本 >= 5.2.0 。
特性
-
Js 兼容模式,兼容Js语法。取消了不必要的双引号。
-
Strict 强类型模式,提供强类型输出与解析,可用于与强类型语言通讯。
- 如 1.0 序列化和解序列后的类型均为 double,不会转换为 int 1。
-
Min 最小化模式,最小化输出数据,可用于日志打印。
-
解析时更为显性的暴漏格式错误
示例代码:
$value = array( 'code' => '123', 'msg' => 'true str', 'null' => null, 'new' => '', 'double' => 1.0, ); // serialize // js echo jsonlite_encode($value); // {code:123,msg:"true str","null":0,"new":"",double:1} // min echo jsonlite_encode($value, JSONLITE_MODE_MIN); // {code:123,msg:true str,"null":,new:,double:1} // strict echo jsonlite_encode($value, JSONLITE_MODE_STRICT); // {code:"123",msg:true str,"null":null,new:,double:1.0} // unserialize $jsonlite = '{code:123,msg:true str,"null":null,new:,double:1}'; $value = jsonlite_decode($jsonlite); var_export($value); /** * array ( * 'code' => 123, * 'msg' => 'true str', * 'null' => NULL, * 'new' => '', * 'double' => 1, * ) */ // work with json $value = array( 'code' => '123', 'msg' => 'true str', 'null' => null, 'new' => '', 'double' => 1.0, ); $json = json_encode($value); // ATTENTION:encode with json // {"code":"123","msg":"true str","null":null,"new":"","double":1} $value = jsonlite_decode($json); var_export($value); /** * array ( * 'code' => 123, * 'msg' => 'true str', * 'null' => NULL, * 'new' => '', * 'double' => 1, * ) */
体积对比
根据测试数据计算,实际情况请另行估算。
模式 | JSON | JSONLite | 变化量 | 变化率 |
array_js | 92 | 92 | 0 | 0.00% |
array_strict | 92 | 74 | -18 | 19.57% |
array_min | 92 | 70 | -22 | 23.91% |
map_js | 111 | 97 | -14 | 12.61% |
map_strict | 111 | 83 | -28 | 25.23% |
map_min | 111 | 81 | -30 | 27.03% |
JSONLite 体积对比 官网
https://github.com/eixom/php-jsonlite
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。