网淘吧来吧,欢迎您!

Jq Json Processor

2026-03-30 新闻来源:网淘吧 围观:11
电脑广告
手机广告

jq JSON 处理器

使用 jq 处理、筛选和转换 JSON 数据

快速示例

基础筛选

# Extract a field
echo '{"name":"Alice","age":30}' | jq '.name'
# Output: "Alice"

# Multiple fields
echo '{"name":"Alice","age":30}' | jq '{name: .name, age: .age}'

# Array indexing
echo '[1,2,3,4,5]' | jq '.[2]'
# Output: 3

处理数组

# Map over array
echo '[{"name":"Alice"},{"name":"Bob"}]' | jq '.[].name'
# Output: "Alice" "Bob"

# Filter array
echo '[1,2,3,4,5]' | jq 'map(select(. > 2))'
# Output: [3,4,5]

# Length
echo '[1,2,3]' | jq 'length'
# Output: 3

常见操作

# Pretty print JSON
cat file.json | jq '.'

# Compact output
cat file.json | jq -c '.'

# Raw output (no quotes)
echo '{"name":"Alice"}' | jq -r '.name'
# Output: Alice

# Sort keys
echo '{"z":1,"a":2}' | jq -S '.'

高级筛选

# Select with conditions
jq '[.[] | select(.age > 25)]' people.json

# Group by
jq 'group_by(.category)' items.json

# Reduce
echo '[1,2,3,4,5]' | jq 'reduce .[] as $item (0; . + $item)'
# Output: 15

处理文件

# Read from file
jq '.users[0].name' users.json

# Multiple files
jq -s '.[0] * .[1]' file1.json file2.json

# Modify and save
jq '.version = "2.0"' package.json > package.json.tmp && mv package.json.tmp package.json

常见使用场景

从 API 响应中提取特定字段:

Jq Json Processor

curl -s https://api.github.com/users/octocat | jq '{name: .name, repos: .public_repos, followers: .followers}'

转换类 CSV 数据:

jq -r '.[] | [.name, .email, .age] | @csv' users.json

调试 API 响应:

curl -s https://api.example.com/data | jq '.'

提示

  • 使用-r获取原始字符串输出(去除引号)
  • 使用-c获取紧凑输出(单行格式)
  • 使用-S对对象键进行排序
  • 使用--arg 名称 值传递变量
  • 管道传输多个jq操作:jq '.a' | jq '.b'

文档

完整手册:https://jqlang.github.io/jq/manual/交互式教程:https://jqplay.org/

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Design Assets 下一篇:Claude Code Agent

相关文章

您是本站第320418名访客 今日有99篇新文章/评论