json-yaml

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

JSON/YAML Tools Skill

JSON/YAML工具Skill

Validate, format, and convert between JSON, YAML, and TOML formats.
验证、格式化JSON、YAML和TOML格式,并支持三者之间的转换。

When to Use

使用场景

USE this skill when:
  • "Format this JSON"
  • "Validate this YAML file"
  • "Convert JSON to YAML"
  • "Parse this config file"
  • "Query JSON data"
适合使用本Skill的场景:
  • "格式化这份JSON"
  • "验证这个YAML文件"
  • "将JSON转换为YAML"
  • "解析这份配置文件"
  • "查询JSON数据"

When NOT to Use

不适合使用的场景

DON'T use this skill when:
  • Editing files directly → use text editor
  • Large data processing → use specialized tools
请勿使用本Skill的场景:
  • 直接编辑文件 → 使用文本编辑器
  • 大数据处理 → 使用专用工具

Commands

命令

Validate

验证

bash
{baseDir}/validate.sh <file>
{baseDir}/validate.sh config.json --format json
{baseDir}/validate.sh config.yaml --format yaml
bash
{baseDir}/validate.sh <file>
{baseDir}/validate.sh config.json --format json
{baseDir}/validate.sh config.yaml --format yaml

Format/Prettify

格式化/美化

bash
{baseDir}/format.sh config.json
{baseDir}/format.sh config.yaml --indent 4
{baseDir}/format.sh config.json --compact
bash
{baseDir}/format.sh config.json
{baseDir}/format.sh config.yaml --indent 4
{baseDir}/format.sh config.json --compact

Convert

格式转换

bash
{baseDir}/convert.sh config.json --to yaml
{baseDir}/convert.sh config.yaml --to json
{baseDir}/convert.sh config.toml --to json
{baseDir}/convert.sh config.json --to toml
bash
{baseDir}/convert.sh config.json --to yaml
{baseDir}/convert.sh config.yaml --to json
{baseDir}/convert.sh config.toml --to json
{baseDir}/convert.sh config.json --to toml

Query

查询

bash
{baseDir}/query.sh data.json '.users[0].name'
{baseDir}/query.sh data.json '.items | length'
{baseDir}/query.sh data.yaml '.config.settings'
bash
{baseDir}/query.sh data.json '.users[0].name'
{baseDir}/query.sh data.json '.items | length'
{baseDir}/query.sh data.yaml '.config.settings'

Flatten/Unflatten

扁平化/反扁平化

bash
{baseDir}/flatten.sh data.json
{baseDir}/unflatten.sh data.json
bash
{baseDir}/flatten.sh data.json
{baseDir}/unflatten.sh data.json

Merge

合并

bash
{baseDir}/merge.sh file1.json file2.json --out merged.json
{baseDir}/merge.sh base.yaml overlay.yaml
bash
{baseDir}/merge.sh file1.json file2.json --out merged.json
{baseDir}/merge.sh base.yaml overlay.yaml

Output Formats

输出格式

  • Formatted: Pretty-printed with indentation
  • Compact: Single line, no whitespace
  • Flat: Dot-notation keys
  • 格式化: 带缩进的美观打印格式
  • 紧凑: 单行无空格格式
  • 扁平化: 点标记键格式

Examples

示例

Format JSON file:
bash
{baseDir}/format.sh config.json
格式化JSON文件:
bash
{baseDir}/format.sh config.json

Output: Properly indented JSON

输出:格式规范的缩进JSON


**Convert YAML to JSON:**
```bash
{baseDir}/convert.sh config.yaml --to json
Query JSON with jq-like syntax:
bash
{baseDir}/query.sh data.json '.users[].name'
{baseDir}/query.sh data.json '.items | map(.price) | add'
Validate JSON:
bash
{baseDir}/validate.sh config.json

**将YAML转换为JSON:**
```bash
{baseDir}/convert.sh config.yaml --to json
使用类jq语法查询JSON:
bash
{baseDir}/query.sh data.json '.users[].name'
{baseDir}/query.sh data.json '.items | map(.price) | add'
验证JSON:
bash
{baseDir}/validate.sh config.json

Output: Valid ✓ or error details

输出:验证通过 ✓ 或错误详情

undefined
undefined

Notes

注意事项

  • Uses Python's json, yaml, and tomli libraries
  • Supports YAML 1.2 specification
  • Handles circular references in merge
  • Query syntax is similar to jq
  • 基于Python的json、yaml和tomli库开发
  • 支持YAML 1.2规范
  • 处理合并时的循环引用
  • 查询语法与jq类似