JSONLite

简化版的JSON
授权协议 GPL
开发语言 PHP
所属分类 Web应用开发、 JSON/BSON开发包
软件类型 开源软件
地区 国产
投 递 者 丁成弘
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

介绍

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%


  • 【目的】爬取某外卖网站水果类店铺的销售品类、价格,优化购买决策。 【工具】R、jsonlite 【难点】根据JSON的特点:1、是一种纯文本的层级结构;2、对象可以包含多个名称/值对;3、数组可以包含多个对象。              经fromJson函数后,我们发现data.frame的结构非常特殊并且复杂:               1、列中套有list;               2

  • 作者 钱亦欣 json是当下非常流行的数据交换格式,有着简单易用,易读(人和机器都容易)等特点。目前挺流行的非关系型数据库MongoDB就可以简单理解为一个json的容器,同时mysql(5.7以上版本),postgresql等关系型数据库也开始支持这一数据结构。因此,掌握关于json的一些知识很有必要,你可以访问它的官网来了解它的结构和在各种编程语言中的相应的库。 当然,身为一个统计专业的学生,

 相关资料
  • JSON 转 HTML 的前端js模块 可以方便的将json,直接渲染成可以伸缩的div,对于小型json比较方便 效果图

  • 问题内容: 我正在尝试将JSON文件读入R,但出现此错误: 我从http://1usagov.measuredvoice.com/下载了该文件,并使用7zip解压缩,然后在R中使用了以下代码: 我不确定为什么会发生此错误,我在Google上进行了查询,但没有任何信息可以帮助我?这是文件问题还是我的代码? 问题答案: 另一个更新 您可以使用该软件包来处理ndjson / streaming JSON

  • 版本化 您可以使用 version 脚本根据 docs 文件夹中的最新内容来剪切新的文档版本。 即使 docs 文件夹中的文档发生变化,该特定的文档集也将保留并可访问。 如何创建新版本 运行以下脚本以生成并列出所有网站版本的初始版本页面: yarn examples versions 这将创建以下文件: pages/en/versions.js 您稍后可以编辑此文件以自定义如何显示版本。 如果

  • 我尝试使用mave-jaxb2插件和jaxb2-basics简化插件将XSD转换为JAXB类。 pom中的配置。xml在本文中提供 样品xsd(复杂选择类型) 然而,生成的JAXB类有aOrB引用。

  • 版本化的模块 不像CVS,Subversion工作拷贝会意识到它检出了一个模块,这意味着如果有人修改了模块的定义(例如添加和删除组件),然后一个对svn update的调用会适当的更新工作拷贝,添加或删除组件。 Subversion定义了模块作为一个目录属性的目录列表:见“外部定义”一节。

  • 8.1.3.简化 StatusActivity 现在我们可以通过 YambaApplication 获取 Twitter 对象了,接下来需要对 StatusActivity 进行修改,在其中使用 YambaApplication 提供的功能。下面是新版的PostToTwitter: class PostToTwitter extends AsyncTask<String, Integer, Str