变换 JSON

范围根节点
脚本
在这里写 JavaScript…(记得 return 一个值)
正在加载编辑器…
输入
1
输出
先运行一次预览,输出会显示在这里。

说明

  1. 脚本是 JavaScript 的“函数体”(严格模式):你可以写任何 JS 语句。
  2. `data` 是当前表格范围数据的深拷贝快照。
  3. 点「预览」只试运行;点「应用」才会把结果写回当前表格范围。
  4. 请 `return` 一个可 JSON 序列化的值(对象/数组/字符串/数字/布尔/null)。输出过大时,预览可能会截断显示。
快速提示
  • `data` 是当前表格范围的 JSON。
  • `ctx.path` 是当前节点路径。
  • 可用 `ctx.clone/pick/omit/flatten/unflatten` 快速处理。
AI 助手
  • 点击脚本区域的 AI 图标打开助手。
  • 用一句话描述目标(如:清理空值、键名格式转换、只保留指定字段)。
  • 插入草稿后再点「预览/应用」——脚本执行在浏览器本地完成。
  • 隐私提示:AI 草稿会调用 AI,并发送你的需求 + 当前脚本。请勿粘贴敏感信息。
示例需求

相关 JSON 工具

  • 在工具间切换:校验、格式化、转换,数据流更顺滑。
  • 所有工具都在浏览器本地处理,兼顾安全与速度。

常见问题

执行模型

脚本是 JavaScript 的“函数体”(严格模式):你可以写任何 JS 语句。 `data` 是当前表格范围数据的深拷贝快照。 点「预览」只试运行;点「应用」才会把结果写回当前表格范围。 请 `return` 一个可 JSON 序列化的值(对象/数组/字符串/数字/布尔/null)。输出过大时,预览可能会截断显示。

辅助 API(`ctx`)

对任意 JSON 值做深拷贝(优先使用 structuredClone)。 对象白名单:只保留指定键 `ctx.pick(obj, ["a","b"])`。 对象黑名单:移除指定键 `ctx.omit(obj, ["password","token"])`。 扁平化嵌套对象为点分键 `ctx.flatten(obj, ".")`。 将点分键还原为嵌套对象 `ctx.unflatten(flat, ".")`。 注意:`unflatten` 目前只生成对象;如需还原数组,请自行编写转换逻辑。

AI 助手

点击脚本区域的 AI 图标打开助手。 用一句话描述目标(如:清理空值、键名格式转换、只保留指定字段)。 插入草稿后再点「预览/应用」——脚本执行在浏览器本地完成。 隐私提示:AI 草稿会调用 AI,并发送你的需求 + 当前脚本。请勿粘贴敏感信息。

常见问题

若提示“返回 undefined”,请确保脚本最后有 `return ...`。 若提示“无法序列化”,请排查循环引用/函数/BigInt 等非 JSON 值。 要变换整个 JSON:先在侧边栏选中根节点,再运行变换。

本地执行(AI 可选)

「预览/应用」只在浏览器本地处理你的数据。AI 助手可通过 AI 生成脚本草稿(需求 + 当前脚本 + JSON Schema 结构上下文:仅字段名与类型,不含值)。请勿粘贴敏感信息或运行不可信代码。