Linux控制台解析JSON字符串的最简方法及工具咨询
解析JSON字符串的控制台工具推荐
jq(最常用的轻量工具)
jq是专门为JSON处理设计的命令行工具,语法简洁易上手,完全能实现你想要的操作:
- 先将JSON字符串赋值给变量:
data='{"field1": "value1", "field2": "value2"}' - 提取指定字段内容:
echo "$data" | jq '.field1' echo "$data" | jq '.field2'
如果需要输出不带引号的原始字符串,加上-r参数即可:
field1=$(echo "$data" | jq -r '.field1') echo $field1
Python 内置json.tool(无需额外安装)
如果你的系统已经预装了Python,不用额外装工具就能完成解析:
- 直接提取字段:
data='{"field1": "value1", "field2": "value2"}' echo "$data" | python -c "import json,sys; print(json.load(sys.stdin)['field1'])" echo "$data" | python -c "import json,sys; print(json.load(sys.stdin)['field2'])"
也可以把字段值存入变量:
field2=$(echo "$data" | python -c "import json,sys; print(json.load(sys.stdin)['field2'])") echo $field2
Node.js(若已安装环境)
如果系统装有Node.js,也能快速完成JSON解析:
- 提取字段的命令示例:
data='{"field1": "value1", "field2": "value2"}' echo "$data" | node -e "const data = JSON.parse(fs.readFileSync(0, 'utf8')); console.log(data.field1)" echo "$data" | node -e "const data = JSON.parse(fs.readFileSync(0, 'utf8')); console.log(data.field2)"
内容的提问来源于stack exchange,提问作者juanheredia
相关产品推荐
相关产品推荐

