JSON 转 PHP
暂无内容
免费在线 JSON 转 PHP 工具,把 JSON 一键转成可直接运行的 PHP 类。支持 ArrayObject 与 stdClass 两种风格,自动生成 namespace、typed properties(PHP 7.4+)、可选 readonly class(PHP 8.1+)、implements JsonSerializable,嵌套对象自动拆分为独立类,数组自动转为 PHP array,本地浏览器运行,无需上传。
暂无内容
免费在线 JSON 转 PHP 工具,把 JSON 一键转成可直接运行的 PHP 类。支持 ArrayObject 与 stdClass 两种风格,自动生成 namespace、typed properties(PHP 7.4+)、可选 readonly class(PHP 8.1+)、implements JsonSerializable,嵌套对象自动拆分为独立类,数组自动转为 PHP array,本地浏览器运行,无需上传。
JSON 转 PHP 工具(JSON to PHP Converter)是一种把 JSON 数据结构自动转换为标准 PHP 类代码的实用工具。它把开发者从手写 namespace / class / public 属性 / 构造器的重复劳动中解放出来,特别适合把 API 接口文档中的示例 JSON 快速转为可直接 require 进 Composer 项目的 PHP 实体类。
本工具支持 4 种主流代码风格:① ArrayObject 风格(extends \ArrayObject,支持数组访问与对象访问,Laravel / Symfony Serializer 生态常用);② stdClass 风格(extends \stdClass,仅支持对象访问,WordPress / json_decode 默认行为);③ readonly class 风格(PHP 8.1+ final readonly class,构造期后不可变,适合 DTO);④ Laravel 集成风格(implements Jsonable + Arrayable,配合 Eloquent API Resource)。开发者可根据项目使用的框架自由选择。
PHP 类型映射是 JSON 转 PHP 的核心。工具会把 JSON 的基本类型映射到 PHP 的标准类型:字符串映射为 string,整数映射为 int,浮点数映射为 float,布尔值映射为 bool,数组映射为 array,嵌套对象映射为独立的 class(按字段名首字母大写),null 映射为 ?type(可空属性)。所有属性使用 PHP 7.4+ 的 typed properties 声明,IDE 可直接做类型检查。
另一个差异化亮点是「自动实现 JsonSerializable 接口」:每个生成的 PHP 类都自动 implements \JsonSerializable 并生成 public function jsonSerialize(): mixed { return [...] } 方法。这意味着你可以直接 echo json_encode($user) 输出 JSON 字符串,而 json_encode 会自动调用 jsonSerialize() 返回的数组数据。在 Laravel 中配合 Jsonable 接口还能直接 return response()->json($user),无需任何额外处理。
与一些需要把 JSON 上传到服务器处理的在线工具不同,本工具的所有计算都在浏览器内完成。quicktype-core 通过 Web Worker 加载和执行,JSON 解析、类型推断、PHP 代码生成、ZIP 打包都在本地进行,不向任何服务器发送数据。这对于包含 API key、用户隐私字段或未上线业务结构的 JSON 尤其重要,关闭页面后数据即从内存中清除。
生成的代码通常需要放到 Composer 项目中使用。你需要在 composer.json 中确保 PHP 版本满足要求(PHP 7.4+ 支持 typed properties,PHP 8.1+ 支持 readonly class),然后把生成的 class 复制到 src 目录下,通过 namespace 自动加载(PSR-4)。之后就可以用 json_decode($jsonString, false) 或 json_decode($jsonString, true) + 反序列化做数据消费,享受 PHP 类型系统的便利。
本工具生成的 PHP 类默认实现 JsonSerializable 接口,配合 json_encode() 直接输出 JSON,无需任何额外处理。
<?php
require_once 'vendor/autoload.php';
use App\Models\User;
// 模拟从 API 接收到的 JSON 字符串
$jsonString = '{"id":1,"name":"Alice","email":"alice@example.com","isActive":true}';
// 1) 反序列化为本工具生成的类
$userData = json_decode($jsonString, true);
$user = new User(
$userData['id'],
$userData['name'],
$userData['email'],
$userData['isActive']
);
// 2) 强类型访问字段(IDE 自动补全 + PHPStan 静态检查)
echo $user->name; // Alice
echo $user->email; // alice@example.com
echo $user->isActive ? '活跃' : '禁用'; // 活跃
// 3) json_encode() 自动调用 jsonSerialize(),无需任何额外代码
echo json_encode($user, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
/*
{
"id": 1,
"name": "Alice",
"email": "alice@example.com",
"isActive": true
}
*/勾选 Laravel 集成后,本工具生成的类可直接作为 Eloquent API Resource 使用,配合 toArray() / toJson() 格式化响应。
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class UserController extends Controller
{
/**
* GET /api/users/{id}
*/
public function show(int $id): JsonResponse
{
// 1) 从数据库或外部 API 获取数据
$userData = $this->fetchUserFromApi($id);
// 2) 用本工具生成的 User 类包装
$user = new User(
$userData['id'],
$userData['name'],
$userData['email'],
$userData['isActive']
);
// 3) 直接 return response()->json($user)
// Laravel 会自动调用 jsonSerialize()
return response()->json($user);
}
/**
* POST /api/users
*/
public function store(Request $request): JsonResponse
{
// 4) 反向用法:把请求 JSON 反序列化为 User 类
$user = User::fromArray($request->all());
// 5) 用 toArray() 获取数组形式
$payload = $user->toArray();
// 6) 执行业务逻辑(如入库 / 调用第三方 API)
$this->userService->create($payload);
return response()->json([
'message' => 'User created',
'data' => $user,
], 201);
}
}
/*
* 对应 composer.json 依赖:
* "require": {
* "php": "^8.1",
* "laravel/framework": "^11.0"
* }
*/本工具 ArrayObject 风格生成的类可配合 Symfony Serializer 组件做深度序列化与反序列化,适合复杂的 API 网关层。
<?php
namespace App\Service;
use App\Models\User;
use Symfony\Component\Serializer\SerializerInterface;
use Symfony\Component\Serializer\Normalizer\PropertyNormalizer;
class UserSerializer
{
private SerializerInterface $serializer;
public function __construct(SerializerInterface $serializer)
{
// 使用 PropertyNormalizer 处理 public 属性
$this->serializer = $serializer;
}
/**
* 将 User 对象序列化为 JSON 字符串
*/
public function toJson(User $user): string
{
return $this->serializer->serialize($user, 'json');
}
/**
* 将 JSON 字符串反序列化为 User 对象
*/
public function fromJson(string $json): User
{
return $this->serializer->deserialize($json, User::class, 'json');
}
/**
* 批量反序列化(如从 MongoDB 导出的 JSON 数组)
*/
public function fromJsonArray(string $jsonArray): array
{
$users = [];
$data = json_decode($jsonArray, true);
foreach ($data as $item) {
$users[] = User::fromArray($item);
}
return $users;
}
}
// 使用示例
$serializer = new UserSerializer($serializerService);
$json = '{"id":1,"name":"Alice","address":{"city":"Beijing","zip":"100000"},"tags":["php","symfony"]}';
// 反序列化为本工具生成的 User 对象
$user = $serializer->fromJson($json);
echo $user->name; // Alice
echo $user->address->city; // Beijing (强类型访问)
print_r($user->tags); // ['php', 'symfony']
// 序列化回 JSON
$jsonOutput = $serializer->toJson($user);对于大多数 PHP 后端项目,ArrayObject 风格生成的类既能像数组访问($obj['key']),也能像对象访问($obj->key),加上默认实现的 JsonSerializable 接口,json_encode() 会自动调用 jsonSerialize() 返回的数组。这是 PHP 生态最通用的对象数据载体写法,兼容 Laravel、Symfony、CodeIgniter 等几乎所有主流框架。
PHP 8.1+ 引入的 readonly class 是 DTO 的最佳实践:构造期后属性不可变,避免业务逻辑误修改响应数据;构造函数提升让代码更精简(public function __construct(public int $id, public string $name) {} 一行搞定属性声明)。建议把 API 响应 DTO、WebHook 回调结构、第三方 API 客户端模型都改为 readonly class 风格。
Laravel 数据库字段默认是 snake_case,但 PHP 属性推荐 camelCase。本工具的「转 camelCase」策略可自动转换,同时 jsonSerialize() 的 return 数组 key 保留原 snake_case,json_encode() 输出仍是 snake_case。这样既符合 Laravel 模型访问习惯,又保持 API 兼容性。
生成的 ZIP 包按 namespace 路径组织(如 App/Models/User.php)。在 composer.json 配置 autoload.psr-4 段,例如:"App\\": "src/",然后执行 composer dump-autoload。这样 Composer 会自动把 App\Models\User 映射到 src/Models/User.php,无需手动 require。
本工具默认生成 typed properties(PHP 7.4+),可被 PHPStan 在 --level=8 模式下完整推断属性类型。建议在 CI 流水线集成 phpstan analyse ./src --level=8,拦截类型错误。Psalm 同样支持 PropertyTypeProvider 做强类型校验。
本工具完全本地浏览器运行,不会上传任何数据。但养成习惯:① 包含 API key / token / 用户隐私的 JSON 应先脱敏再转换;② 大型内部业务结构(未上线接口)使用本工具时确保网络断开;③ 不要在生成代码后把含敏感信息的示例数据 commit 到公开仓库。
嵌套 JSON 对象会递归生成独立 PHP 类。如果 JSON 嵌套层级超过 6 层(如多层嵌套的菜单、组织架构树、复杂业务单据),生成的类数量会爆炸(每层 N 个嵌套类),IDE 加载缓慢且维护困难。建议:① 拆分 JSON 为多个模块分别转换;② 或在生成后手动重构为数组索引($user['profile']['address']['city'])而非类嵌套。
JSON null 值会被默认推断为 ?mixed(可空 mixed),这是安全兜底但不是精确类型。如确知字段类型(如 "nickname": "" 推断为 string),先在源 JSON 给示例值,生成后再删除示例值并改为 ?string 等精确类型,可大幅提升 PHPStan 静态分析的准确度。
将 JSON 内容粘贴到左侧输入框,工具会在 400ms 内自动转换;或在工具栏点击「Convert」按钮。转换完成后右侧会显示所有生成的 PHP 类,每个类有独立的「复制」按钮;点击工具栏「Download ZIP」可一键打包所有类下载(含命名空间目录结构)。
支持两种结构:① JSON 对象(作为根类,自动生成 class RootClass);② JSON 数组(数组第一个对象作为根类模板)。所有嵌套对象会被递归处理为独立类,数组中的对象会被递归处理为数组元素类型对应的类。
每个生成的 .php 文件包含:① 文件头注释(Copyright + 自动生成时间戳);② namespace 声明;③ use 语句(含 \JsonSerializable / \ArrayAccess 等按需自动导入);④ class 定义(按设置可能是 ArrayObject / stdClass / readonly class);⑤ implements 接口(按设置包含 JsonSerializable / Jsonable / Arrayable);⑥ typed public 属性(PHP 7.4+);⑦ 构造函数(按设置生成全属性赋值);⑧ jsonSerialize() / toArray() / toJson() 等方法。完整可直接 php -l 语法检查并 require 使用。
ArrayObject 风格:生成的 class extends \ArrayObject,既支持 $obj['key'] 数组式访问,也支持 $obj->key 对象式访问,json_encode() 时返回对象。stdClass 风格:生成的 class extends \stdClass,仅支持 $obj->key 对象式访问,更轻量但不能直接数组访问。Laravel / WordPress 生态默认用 stdClass 风格(json_decode 默认行为),Symfony Serializer 默认用 ArrayObject 风格。
支持。勾选设置中的「Laravel 一键集成」选项后,工具会自动生成 implements Jsonable、Arrayable 接口,添加 toJson($options = 0) 和 toArray() 方法,生成的类可直接在 Eloquent API Resource 中使用(如 new UserResource($user) 或 $user->toArray())。同时自动 use Illuminate\Contracts\Support\Jsonable 和 Illuminate\Contracts\Support\Arrayable。
启用 readonly class 后,生成的 PHP 类会显著精简。例如 class User 启用 readonly 后约 12 行:final readonly class User implements \JsonSerializable { public function __construct(public int $id, public string $name) {} public function jsonSerialize(): array { return [...] } }。所有属性通过构造函数提升(constructor property promotion)声明为 readonly,构造期后不可变。注意:项目需 PHP 8.1+,readonly 字段只能通过构造函数赋值。
在 Settings 弹窗的「字段命名策略」分组里选择「转 camelCase」模式,工具会自动把 JSON 字段名从 snake_case 转为 PHP 推荐命名风格。例如 user_name → userName、created_at → createdAt、is_active → isActive。同时如果 JSON 来自 Laravel 路由绑定,类属性会自动通过 $request->userName 直接访问,无需手动中间转换。
工具会自动为嵌套对象创建独立的 PHP 类。命名规则:嵌套对象 key 首字母大写作为类名(如 address → Address),数组中的对象 key 移除末尾 s 后首字母大写(如 users → User)。所有嵌套类同样包含完整字段、构造函数、jsonSerialize() 方法,namespace 与根类保持一致,可通过 use App\Models\Address 引入。
会。JSON 中的数组字段会自动转换为 PHP array 属性,元素类型根据数组第一个元素自动推断。例如 ["a","b","c"] → array(注解中标注 array<string>);[{...},{...}] → array(注解中标注 array<User>,User 为根据 key 命名的新类);空数组 [] 默认 array(注解中标注 array<mixed>)。PHP 8.0+ 配合 PHPDoc 注解可在 IDE 中获得类型提示。
工具栏右上角有一个 Settings 按钮,点击后弹出设置对话框,可设置:① 根类名(默认 JsonRootClass);② namespace(默认 App\Models)。修改后所有生成的类名会同步更新,ZIP 内的目录结构也会按 namespace 组织(如 App/Models/User.php)。
下载的是 ZIP 包(User.zip),内含所有生成的 PHP 类,按 namespace 路径组织目录结构。例如 namespace 为 App\Models 时,ZIP 内的文件结构为:App/Models/User.php、App/Models/Address.php、App/Models/Company.php 等。可用 unzip 命令或 IDE 直接导入 Composer 项目 src 目录。
可以。每个生成的 PHP 类显示为一个独立的卡片,卡片右上角有「复制」按钮,点击后整个类的完整代码(包含 <?php + namespace + use + class + 属性 + 构造器 + 方法)会被复制到剪贴板,可直接粘贴到 PhpStorm / VS Code / Sublime 等 IDE 中。
默认就启用。所有生成的 PHP 类自动 implements \JsonSerializable 并生成 public function jsonSerialize(): array { return [...] } 方法,return 的数组按类属性顺序组装。你可以直接 echo json_encode($user) 输出 JSON 字符串,或在 Laravel 中 return response()->json($user)。
可以。Symfony Serializer 默认使用 array 风格读取数据,对生成的 ArrayObject 风格类兼容良好。配合 SerializerInterface 的 $serializer->serialize($user, 'json') 可直接序列化,deserialize() 反序列化时需要类有 public 属性或 getter。本工具生成的是 public 属性 + 构造器赋值风格,可直接配合 Symfony Serializer 的 PropertyNormalizer 使用。
工具会自动检测 JSON 合法性,错误时会在右侧显示红色错误提示,并提供「修复 JSON」按钮。点击后可自动修复常见错误:① 末尾多余逗号;② 单引号替换为双引号;③ 缺失引号的 key 补全引号;④ 注释移除。修复成功后可直接转换生成 PHP 类。
完全本地浏览器运行。所有 JSON 解析、PHP 类生成、ZIP 打包都在你的浏览器内通过 JavaScript(quicktype-core + JSZip)完成,输入的 JSON 数据和生成的 PHP 代码都不会被上传到任何服务器,也不会被记录或缓存到云端。包含内部接口字段、未上线业务结构、未公开 API 响应的敏感 JSON 都可以放心使用,关闭页面即清除。
工具无显式行数限制,但浏览器对超大 JSON 的解析和渲染会变慢。建议:① 拆分 JSON 后批量转换;② 一次只关注一个嵌套层级;③ 如需批量生成 100+ 类,建议直接使用 IDE 的 PHP 模板插件或写一个简单的 quicktype CLI 脚本处理。
不完全支持。本工具生成的类默认使用 PHP 7.4+ 的 typed properties(如 public int $id)。如果你的项目还是 PHP 7.0~7.3,生成后会因类型声明而报错。建议:① 升级项目到 PHP 8.1+(推荐,性能和类型系统都更好);② 或生成后在 IDE 中批量移除类型声明(Find & Replace `public int ` → `public `);③ 或使用 PHP 7.4 的兼容模式(本工具默认 PHP 7.4 是底线)。
左侧输入框为空或只有空白字符。确保已粘贴有效的 JSON 内容,或点击「Sample」加载中文示例,或点击「Upload」选择 .json / .txt 文件。
JSON 格式不合法。常见原因:① 末尾有多余逗号(如 {"a":1,});② 用了单引号而非双引号;③ JS 对象写法(如 {key: value})而非 JSON(如 {"key": "value"})。点击「修复 JSON」按钮可自动修复部分错误。
本工具生成的类默认使用 PHP 7.4+ 的 typed properties(如 public int $id)。如果你的项目还在 PHP 7.0~7.3,类型声明会触发兼容性问题。解决方案:① 升级项目到 PHP 8.1+(推荐,性能与类型系统都更好);② 在 IDE 中批量移除类型声明(Find & Replace `public int ` → `public `);③ 取消勾选「PHP 7.4 typed properties」选项(仅对部分代码风格生效)。
readonly class 风格生成的属性在构造期后不可修改。如果你尝试 $user->name = 'Bob' 会报错。解决方案:① 修改为 ArrayObject 或 stdClass 风格(属性可修改);② 或重新 new User(...) 创建一个新实例代替修改。
Laravel 集成风格需要 laravel/framework 依赖。在 composer.json 中确保有:"require": { "php": "^8.1", "laravel/framework": "^11.0" }。然后执行 composer update 安装依赖。如果不使用 Laravel,请改选 ArrayObject 或 stdClass 风格。
常见原因:① 生成的类没有 public 属性或 getter 方法(Symfony Serializer 默认用 PropertyNormalizer);② 类缺少无参构造器但有必填参数。解决方案:① 确认本工具已生成 public 属性;② 使用 fromArray() 静态方法手动构造对象后再传给 Serializer。
工具对数组中的对象采用「移除末尾 s + 首字母大写」的命名规则,对于 categories 等不规则复数命名不友好。建议:① 把源 JSON 的 key 改为单数(如 categories → category);② 或生成后在 IDE 中用 IDE 的 Rename 重命名类(同时修改所有引用)。
ZIP 内的目录按 namespace 设置组织(默认 App/Models/)。如果解压后位置不对,可:① 修改 namespace 名(如改为 App\Dto)重新下载;② 用 unzip -d src/ 指定解压目录;③ 或在 IDE 中直接 File → Open 整个解压后的文件夹。
Composer 项目需要在 composer.json 中配置 PSR-4 自动加载映射,例如:"autoload": { "psr-4": { "App\\": "src/" } }。然后执行 composer dump-autoload,Composer 会按 namespace 到目录的映射自动加载类文件。
「转 camelCase」会改变 PHP 属性名(如 user_name → userName),但 jsonSerialize() 方法的 return 数组 key 仍为原 snake_case,json_encode() 输出的 JSON 仍是原字段名。所以访问 PHP 属性用 $user->userName,输出 JSON 仍是 {"user_name": "..."}。如果反序列化也希望按 camelCase 访问,需要在 jsonSerialize() 的 return 数组中改为 camelCase key。
工具无显式类数限制,但浏览器对超大 DOM 渲染性能下降明显。建议:① 把 JSON 拆分成几个独立模块分别转换;② 或直接在 IDE 中用 IDE 自带的代码生成工具(如 PhpStorm 的 JSON to PHP 插件);③ 嵌套层级建议不超过 6 层,否则建议重构 JSON 结构。
工具按数组首个元素推断类型(如 [1, 2, 3] 推断为 int,[1.5, 2.5] 推断为 float)。如果你混合了整数和浮点数(如 [1, 2.5]),工具会按首个元素推断。解决:① 在源 JSON 中至少添加一个示例浮点元素(如 [0.0, 1.5]);② 或生成后手动调整 PHPDoc 注解中的类型。
JSON null 值会被工具默认推断为 ?mixed 类型(因为无法判断实际类型)。这是安全做法,避免误判。如确知类型,可在源 JSON 中给该字段一个示例值(如 "field": "" 推断为 string),生成后把类型改为 ?string 即可。
可能原因:① namespace 与目录不匹配(如 namespace App\Models 但文件在 src/Dto/);② composer.json 的 psr-4 映射写错(如 "App\\": "src/Dto/" 应为 "App\\Dto\\": "src/Dto/")。解决:检查每个 .php 文件的 namespace 是否与目录路径严格对应(namespace 段必须等于目录段,区分大小写)。
生成的 typed properties 没有默认值,PHPStan 在 --level=8 模式下认为可能未初始化。解决:① 关闭 PHPStan 的 strict rules;② 在构造器中用空值赋值(如 $this->tags = []);③ 用 readonly class 风格(构造器提升后即被赋值)。
对 [{...},{...}] 这种对象数组,PropertyNormalizer 需要元素类型提示。解决:① 在 PHPDoc 中明确 array<User> 类型;② 或使用 ArrayCollection 包装($users = new ArrayCollection())。
源 JSON 中含中文 key(如 "姓名": "Alice")时,工具会生成 public string $姓名 属性,IDE 可能提示命名不规范但不会报错。建议:① 把 JSON key 改为英文(更符合 PHP PSR-1 命名规范);② 保留中文时确保 PHP 文件编码为 UTF-8(PHP 默认 UTF-8)。
ArrayObject 风格的数组访问按属性声明顺序返回,对象访问按 jsonSerialize() 方法中的 return 数组顺序返回。如两者顺序不一致会导致 echo json_encode() 输出与 var_dump($obj) 不一致。建议:保持 jsonSerialize() 的 return 顺序与构造器参数顺序一致。
PHP 的 int 在 64 位系统上是 64 位有符号整数(最大值 9223372036854775807),如果 JSON 中的数字 ID 超过此范围(如 Twitter 雪花的 ID),会被截断。解决:① 用字符串类型接收 ID("id": "1234567890123456789");② 用 JSON_BIGINT_AS_STRING 标志解析。
工具自动推断的 JSON 数据类型与对应的 PHP 类型对照:
| JSON 值示例 | 判断方法 | 生成 PHP 类型 | 属性默认值 |
|---|---|---|---|
null | value === null | ?mixed / ?type | null |
true / false | typeof value === 'boolean' | bool | false |
42 | typeof value === 'number' && Number.isInteger(value) | int | 0 |
3.14 | typeof value === 'number' && !Number.isInteger(value) | float | 0.0 |
"hello" | typeof value === 'string' | string | '' |
[...] (空数组) | Array.isArray(value) && value.length === 0 | array (PHPDoc array<mixed>) | [] |
["a","b"] | Array.isArray(value) && typeof value[0] === 'string' | array (PHPDoc array<string>) | [] |
[1,2,3] | Array.isArray(value) && typeof value[0] === 'number' | array (PHPDoc array<int>) | [] |
[{...},{...}] | Array.isArray(value) && typeof value[0] === 'object' | array (PHPDoc array<Xxx>) | [] |
{...} (嵌套对象) | typeof value === 'object' && !Array.isArray(value) | Xxx (独立类) | new Xxx() |
工具支持的 4 种 PHP 类代码风格,根据项目需求选择:
| 代码风格 | 继承 / 修饰 | 实现接口 | 适用场景 |
|---|---|---|---|
ArrayObject 风格 | extends \ArrayObject | implements \JsonSerializable | Symfony Serializer 生态、需要数组式访问 $obj['key']、PHP 标准库兼容 |
stdClass 风格 | extends \stdClass | implements \JsonSerializable | WordPress REST API、json_decode 默认行为兼容、轻量对象数据载体 |
readonly class 风格 | final readonly class (无继承) | implements \JsonSerializable | PHP 8.1+、API 响应 DTO、不可变数据传输对象、构造期后保证数据不被修改 |
Laravel 集成风格 | 无继承(默认) | implements \Jsonable, \Arrayable, \JsonSerializable | Laravel Eloquent API Resource、Eloquent 模型层、控制器响应格式化 |
本 JSON 转 PHP 工具所有 JSON 解析、PHP 类生成、ZIP 打包操作完全在你的浏览器本地通过 JavaScript(quicktype-core + JSZip)完成,输入的 JSON 数据和生成的 PHP 代码都不会被上传到任何服务器,也不会被记录、缓存或存储到云端。包含内部接口字段、未上线业务结构、未公开 API 响应的敏感 JSON 都可以放心使用,关闭页面即清除全部数据。本工具不使用任何 Cookie 进行用户追踪,不收集邮箱或账号信息,不嵌入任何第三方统计脚本,所有计算都在当前设备的浏览器进程中完成。即使处于离线环境(如断网或内网隔离环境),只要页面已经加载过一次资源即可正常使用。