首页 / 应用市场 / 插件 / 详情
JSON文件解析
举报 更新于:2周前

JSON文件解析

¥9.90
下载量
0
阅读量
138
  • 分           类: 小工具
  • 多    语    言: 未知
  • 当 前  版 本: 1.0.0
  • HkCms版本: >=2.3.0
  • 应 用 标 识: jsonmachine
免责声明:本站所有插件均由开发者提供,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。

保    障: 第三方商家 安全检测

一个高效、易于使用且快速的 JSON 流/拉取/增量/懒惰(无论你怎么称呼它)解析器,基于为不可预测长度的 JSON 流或文档开发的生成器。

 特点

  • 常量内存占用,用于不可预测的大型JSON文档。
  • 易于使用。只需用foreach迭代任何大小的JSON,无需事件和回调。
  • 对文档中由JSON Pointer指定的任何子树进行高效迭代
  • 速度。关键性能代码在JIT的考虑下进行了速度优化,并使用原生json_decode来解码JSON文档项,这是默认设置。请参见解码器
  • 解析不仅限于流,还可以解析任何生成JSON块的可迭代对象。
  • 经过彻底测试。超过200个测试和1000个断言。

使用方法:安装后,请按以下步骤进行解析,直接引入即可。

解析文档

假设 fruits.json 包含这个巨大的JSON文档:

// fruits.json
{
    "apple": {
        "color": "red"
    },
    "pear": {
        "color": "yellow"
    }
}

解析:

<?php

use \JsonMachine\Items;

$fruits = Items::fromFile('fruits.json');

foreach ($fruits as $name => $data) {
    // 1st iteration: $name === "apple" and $data->color === "red"
    // 2nd iteration: $name === "pear" and $data->color === "yellow"
}

解析一个JSON数组而不是一个JSON对象遵循相同的逻辑。 在foreach中的键将是一个项目的数值索引。

如果你更喜欢JSON Machine以数组而不是对象的形式返回,使用new ExtJsonDecoder(true)作为解码器。

<?php

use JsonMachine\JsonDecoder\ExtJsonDecoder;
use JsonMachine\Items;

$objects = Items::fromFile('path/to.json', ['decoder' => new ExtJsonDecoder(true)]);

解析子树

如果你只想迭代 results 这个子树 fruits.json:

// fruits.json
{
    "results": {
        "apple": {
            "color": "red"
        },
        "pear": {
            "color": "yellow"
        }
    }
}

使用JSON Pointer /results 作为 pointer 选项:


<?php

use \JsonMachine\Items;

$fruits = Items::fromFile('fruits.json', ['pointer' => '/results']);
foreach ($fruits as $name => $data) {
    // The same as above, which means:
    // 1st iteration: $name === "apple" and $data->color === "red"
    // 2nd iteration: $name === "pear" and $data->color === "yellow"
}

results不是一次性加载到内存中,而是在 results中只加载一个项目。在你当前迭代的层次/子树中,内存中总是有一个项目。因此,内存消耗是恒定的。

更多介绍:插件介绍

1.0.0 2025-09-22 >= HkCms_2.3.0
发布了第一个版本

博文

问答

商家类型:个人

联系商家

2228293408

相关应用
推荐应用
sitemap地图生成

sitemap地图生成

免费
UEditor百度编辑器插件

UEditor百度编辑器插件

免费
数据库备份还原

数据库备份还原

免费
用户中心插件

用户中心插件

免费
微信群

公众号


在线联系

加入Q群


微信客服

加微信群


返回顶部