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. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
JSON 转 PHP 数组 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
把 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, 让你偏好的风格在多次 访问之间保留。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。