# JSON Patch工具

对JSON数据应用JSON Patch操作 (RFC 6902)

> 标准页面: https://elysiatools.com/zh/tools/json-patch

- **分类:** Converter

- **关键词:** json, patch, rfc 6902, 修改, 更新, 操作, 编辑, 转换

## 概述

JSON Patch工具是一个基于RFC 6902标准的在线工具，用于对JSON数据执行精确的增量修改。您只需提供原始JSON数据和一组定义好的补丁操作，工具便会自动应用这些更改，生成更新后的JSON结果，非常适合需要对JSON结构进行细粒度编辑的场景。

## 输入项

- **原始JSON** (textarea): {"name": "John", "age": 30, "hobbies": \["reading"\]}
- **Patch操作** (textarea): \[{"op": "replace", "path": "/age", "value": 31}\]

## 适用场景

- 需要对现有JSON数据进行批量、精确的字段更新、添加或删除时。
- 在API开发或数据同步中，需要根据补丁指令（如来自前端或配置文件）来更新后端数据模型时。
- 在版本控制或配置管理中，需要记录和应用一系列对JSON配置文件的增量更改时。

## 工作原理

- 在“原始JSON”文本框中输入或粘贴您需要修改的JSON数据。
- 在“Patch操作”文本框中，按照RFC 6902格式输入一个包含多个操作对象的JSON数组，每个对象定义一项修改（如替换、添加、删除等）。
- 点击执行后，工具将按顺序应用所有补丁操作，并输出最终修改完成的JSON结果。

## 使用案例

- 更新API响应：根据业务逻辑，动态修改从外部API获取的JSON数据中的特定字段。
- 管理配置文件：对应用程序的JSON配置文件进行版本化更新，只记录和传输变更部分。
- 数据迁移与清洗：在数据处理流程中，使用补丁脚本批量修正或转换JSON数据集中的错误或过时信息。

## 常见问题

### 这个工具支持哪些JSON Patch操作？

支持RFC 6902标准定义的所有操作，包括“add”（添加）、“remove”（删除）、“replace”（替换）、“move”（移动）、“copy”（复制）和“test”（测试）。

### 输入的JSON或Patch操作格式错误会怎样？

工具会进行基本的格式校验。如果输入的JSON或补丁数组格式不正确，工具会提示解析错误，帮助您定位问题。

### 补丁操作是按顺序执行的吗？

是的，补丁操作会严格按照您在数组中定义的顺序依次执行。前一个操作的结果会成为后一个操作的输入。

### 工具对处理的JSON数据大小有限制吗？

作为在线工具，为了保证响应速度和稳定性，对输入数据的体积有一定限制。对于超大型JSON文件，建议在本地环境处理。

### 如何验证补丁操作是否正确应用？

您可以对比原始JSON和输出结果。此外，利用“test”操作可以在应用更改前验证特定路径的值是否符合预期，这是一种安全的验证方式。

## 相关工具

- [JSON Pointer工具](https://elysiatools.com/zh/tools/json-pointer): 使用JSON Pointer (RFC 6901) 导航和提取JSON中的值
- [CSON转JSON](https://elysiatools.com/zh/tools/cson-to-json): 将CSON（CoffeeScript对象表示法）数据转换为JSON格式
- [EDN转JSON](https://elysiatools.com/zh/tools/edn-to-json): 将EDN（可扩展数据表示法）数据转换为JSON格式
- [GraphQL转JSON](https://elysiatools.com/zh/tools/graphql-to-json): 将GraphQL查询或响应数据转换为JSON格式
- [JSON 转 C# 类](https://elysiatools.com/zh/tools/json-to-csharp): 将 JSON 数据转换为 C# class，包含 PascalCase 属性、JsonPropertyName 特性与嵌套类型推断
- [JSON转CSON](https://elysiatools.com/zh/tools/json-to-cson): 将JSON数据转换为CSON（CoffeeScript对象表示法）格式
- [JSON转CSV转换器](https://elysiatools.com/zh/tools/json-to-csv): 将JSON数据转换为CSV格式，支持自定义格式化选项
- [JSON转EDN](https://elysiatools.com/zh/tools/json-to-edn): 将JSON数据转换为EDN（可扩展数据表示法）格式

## 示例

- [Terraform Plan JSON 样本](https://elysiatools.com/zh/samples/terraform-plan-json-samples): 用于依赖可视化和变更审查的 Terraform plan JSON 文件样本，贴近 terraform show -json 输出结构
- [聊天记录 JSON 示例](https://elysiatools.com/zh/samples/chat-transcript-json): 多角色聊天记录的 JSON 示例
- [JSON 示例](https://elysiatools.com/zh/samples/json): JSON（JavaScript 对象表示法）格式示例，从简单到复杂结构
- [富媒体 JSON 示例](https://elysiatools.com/zh/samples/rich-media-json): 常见富文本编辑器（TipTap、Quill、Slate）的 JSON 示例
