微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JSONLite 体积对比 简化版的JSON

程序名称:JSONLite 体积对比

授权协议: GPL

操作系统: 跨平台

开发语言: PHP

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] 举报,一经查实,本站将立刻删除。

相关推荐