SKILL.md
1.8 KB查看源码---
name: json-formatter
description: 校验并格式化 JSON 数据。当用户粘贴的 JSON 混乱、压缩成一行、缩进错乱,或需要检查语法错误、定位出错位置时使用。
---
# JSON 格式化技能
## 何时使用
当用户提出以下需求时应用本技能:
- “帮我格式化这段 JSON”
- “这个 JSON 报错了,帮我看看哪里错”
- “把压缩的 JSON 展开”
- “检查 JSON 语法是否正确”
## 处理步骤
### 1. 校验语法
- 检查括号 `{}` `[]` 是否成对闭合
- 检查键名是否用双引号包裹(JSON 不允许单引号)
- 检查是否有多余逗号(对象/数组末尾逗号非法)
- 检查字符串是否含未转义的特殊字符(`"` `\` 换行等)
### 2. 报错定位
若语法有误:
- 指出出错的行号和列号
- 说明错误类型(如“第 5 行末尾多余逗号”)
- 给出修正建议
### 3. 格式化输出
- 统一使用 2 空格缩进(若用户指定 4 空格或 Tab,按用户要求)
- 每个键值对单独一行
- 冒号后保留一个空格
- 数组元素换行缩进
### 4. 输出
- 语法正确:直接输出格式化后的 JSON,放在代码块中
- 语法错误:先说明错误位置和原因,再给出修正后的版本
## 边界情况
- JSON 为空或只有 `{}` `[]`:原样输出
- 超大 JSON(超过 500 行):输出格式化结果,并提示可分段查看
- 输入不是 JSON(如 JS 对象、YAML):告知用户并询问是否转换
- 含中文或特殊字符:保留原内容,不做转义或编码转换
## 示例
**输入:**
{"name":"张三","age":25,"skills":["Python","SQL"],"active":true,}
**输出:**
第 1 行末尾有多余逗号,已修正:
```json
{
"name": "张三",
"age": 25,
"skills": [
"Python",
"SQL"
],
"active": true
}
文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。

