跳到主要内容

JSON 转 PHP 数组 — 关联与索引、短语法 [] 或 array()、零上传

JSON 转 PHP 数组, 粘 JSON 出干净的关联或索引数组, 支持短语法 [] 与 array(), 2/4 缩进, 末尾逗号, 可选 <?php return …; 包裹。

  • 本地处理
  • 分类 开发运维
  • 适合 格式化、校验、压缩或检查和代码相关的文本。
示例:
JSON 是怎么映射成 PHP 数组的

JSON 对象变成 PHP 关联数组 —— 每个键都以单引号字符串的形式输出成 `'key' => value`, 这是稳妥的选择: JSON 的键永远是字符串, 否则像 "0" 这样的数字键会被 PHP 强转成整数 0。JSON 数组变成普通的索引数组。字符串用单引号包裹, 只转义 `\` 和 `'` (PHP 单引号规则 —— `\n` 保持字面的反斜杠加 n, 不是换行)。整数和浮点直接输出, `true`/`false`/`null` 一一对应, 空对象和空数组都渲染成 `[]`。可切换短语法 `[]` 与旧式 `array()`, 缩进在 2 和 4 空格间切换, 加末尾逗号 (对 Git diff 友好), 也可整体套上 `<?php return …;` 得到一个可直接放进 Laravel config 或 seeder 的文件。

这个工具能做什么

把任意 JSON (Laravel 配置导出、WordPress 选项、API 响应、一行种子 数据) 粘进来, 拿到一段干净的 PHP 数组字面量, 可以直接放进 `.php` 文件。JSON 对象变成 PHP 关联数组 (`'key' => value`), JSON 数组变成 索引数组。键一律输出成单引号字符串, 这是稳妥的做法: JSON 的键永远 是字符串, 所以像 `"0"` 这样看起来是数字的键会保持 `'0'`, 而不会像 不带引号的 PHP 键那样被悄悄强转成整数 `0`。字符串用单引号包裹, 只 转义 `\` 和 `'` —— 正是 PHP 单引号的规则 —— 所以像 `C:\Users\dev` 这样的 Windows 路径、像 `it's` 这样的撇号都能正确输出, 不会被搞乱。 整数和浮点直接输出, `true` / `false` / `null` 一一对应, 空对象和 空数组都渲染成 `[]`。可在现代短语法 `[]` 与旧式 `array()` 之间切换 (对还卡在 PHP 5.3 的老代码很有用), 缩进在 2 和 4 空格间切换以匹配 你的编码规范, 加末尾逗号让 Git diff 干净, 也可整体套上 `<?php return …;` 得到一个可直接用的配置或 seeder 文件。输入和选项 能拼成链接分享, 结果可一键复制或下载成 `.php` 文件。全部在浏览器 里跑 —— JSON 不碰服务器。

工具细节

输入
文件 + 文本 + 数值
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制 + 下载
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 22 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
开发运维 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

JSON 转 PHP 数组 适合怎么用

适合穿插在写代码、查问题、做 Review、上线前的小任务里。

适合开发场景

  • 格式化、校验、压缩或检查和代码相关的文本。
  • 把片段整理好再放进文档、工单、提交或交接材料。
  • 不切换工具,快速检查一个小 payload。

开发检查项

  • 压缩、混淆这类不可逆处理,先对副本操作。
  • 除非确认工具本地处理,不要粘贴密钥和敏感片段。
  • 转换后的代码上线前,仍要跑自己的测试或 lint。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 JSON 转 Go 结构体 JSON 转 Go struct, 粘 JSON 出带 json tag 的结构体, 字段自动导出, 嵌套对象生成子 struct, 可空字段用指针, 支持 int64 与 omitempty。 打开
  2. 2 JSON 转 TypeScript Interface JSON 转 TypeScript interface, 粘 JSON 出干净 interface, 数组元素合并为 union, 可选字段自动识别, 根类型名可命名。 打开
  3. 3 JSON 格式化与校验 浏览器内即时格式化、校验、压缩 JSON,数据不离开本地。 打开

真实使用场景

  • 把 JSON 配置转成 Laravel 配置文件

    某第三方包用一段 JSON 提供默认配置, 但你的 Laravel 应用想要一个 返回数组的 `config/service.php`。粘进 JSON, 打开 `<?php return …;` 包裹, 短语法开着, 缩进设 4 以匹配 Laravel 风格。把输出复制到 `config/service.php`, 然后 `config('service.host')` 在运行时就如 包作者所愿地解析 —— 不用手敲 40 个键、不用担心打错一个 `'tiemout'`。

  • 用抓到的 JSON 行给数据库表做种子

    你有一个 JSON 数组, 里面是 20 条 API 样例记录, 想放进一个 `DatabaseSeeder`。粘进数组, 打开末尾逗号 (这样以后加一行就是 一行干净的 diff), 把结果放进 `DB::table('products')->insert([ … ]);`。`"O'Brien"` 里的撇号 已经输出成转义好的 `'O\\'Brien'`, 所以 seeder 第一次跑就不会因 解析错误挂掉。

  • 迁移以 JSON 存储的 WordPress 选项

    某插件把它的设置以 JSON 字符串存在 `wp_options` 里。你在写一个 迁移, 需要把同样的数据作为原生 PHP 数组喂给 `update_option()`。 粘进 JSON, 保持短语法, 把 `[ … ]` 字面量直接复制进你的迁移函数。 数字键保持带引号 (`'0' =>`), 这样 `update_option` 会按你预期 存储, 而不是重新索引。

  • 给 PHPUnit 测试构造 fixture

    你的测试需要一个有代表性的 payload 作为 PHP 数组喂给一个服务 mock。curl 真实 endpoint, 把 JSON 响应粘进来, 包裹关掉 (你要粘 到测试方法中间), 把裸的 `[ … ]` 复制进 `$expected = [ … ];`。 现在你的断言对比的是一个映射生产环境的字面量, 而不是一个手工 概括的近似值。

  • 把 API 文档里的 JSON 示例转成 PHP SDK 片段

    你在写 PHP SDK 文档, 上游 API 文档把请求体给成 JSON。把每个示例 粘进来, 拿到 PHP 数组形式, 嵌进你的 `$client->post('/orders', [ … ])` 片段。缩进设 4 空格以匹配文档 代码块, 每个示例都一致, 而不是一个开发者用 `array()` 另一个用 `[]`。

常见踩坑

  • 期待空 JSON 对象 {} 能往返回对象。{} 和 [] 都渲染成 [], 因为 PHP 没有单独的空映射字面量 —— 一旦是 `[]`, PHP 就当它是索引数组。如果下游消费方必须看到关联形状, 你得至少给一个键, 或者在 PHP 里用 `(object)` 显式转换。

  • 以为字符串里的 \n 会变成换行。我们输出单引号 PHP 字符串, 里面 `\n` 是字面的反斜杠加 n —— 不是换行。这是正确的 PHP 单引号行为。如果你真需要值里有换行, JSON 里应该包含一个真正的换行字符 (它会原样出现在单引号里), 而不是反斜杠加 n 这两个字符。

  • 手动把数字键的引号去掉。工具故意输出 `'0' => …`: JSON 的键永远是字符串。如果你手动改成 `0 => …`, PHP 会把它强转成整数键 0, 之后用 `'0'` 字符串键查找可能就找不到。除非你明确想要整数键, 否则保留引号。

  • 在输入里粘 JSON5 / 带注释的 JSON / 末尾逗号。我们用严格的 `JSON.parse`, 所以你*输入*里的注释、不带引号的键、末尾逗号都会报错 (末尾逗号选项只影响 PHP *输出*)。先剥掉, 或者先过一道 JSON 格式化工具。

隐私说明

你粘进来的 JSON 不会离开这个浏览器标签页。解析和渲染走浏览器内建的 `JSON.parse`, 没有任何网络请求, 也不对文本框内容做 analytics。分享 链接会把你的输入和选项编码进 URL 以便复现结果 —— 也就是说由你决定 何时分享。如果 payload 敏感 (带 API key 的配置、数据库凭据、客户 数据), 直接复制生成的 PHP 代码, 不要分享链接。只有选项 (短语法 / 缩进 / 末尾逗号 / 包裹) 会存进 localStorage, 让你偏好的风格在多次 访问之间保留。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-05-29