Linux使用命令行解析JSON数据获取属性值

在Linux有几个办法可以很方便在命令行解析JSON数据

jq

curl -s 'http://example.com/api/user' | jq -r '.name'

Python

使用Python也可以很方便地解析JSON数据

Python 2

curl -s 'http://example.com/api/user'| python -c "import sys, json; print json.load(sys.stdin)['name']"

Python 3

curl -s 'http://example.com/api/user' | python3 -c "import sys, json; print(json.load(sys.stdin)['name'])"

如需设置解析的编码,如utf8,在调用命令前执行:

export PYTHONIOENCODING=utf8

Node.js

也可以使用Node的JSON.parse

node -pe 'JSON.parse(process.argv[1]).name' "$(curl -s http://example.com/api/user)"

版权声明:著作权归作者所有。

相关推荐

Shell脚本使用curl命令发送JSON数据

在Linux使用命令行工具curl发送JSON数据需要把content-type设置为“application/json”。-H "Content-Type: application/json 示例curl -H "Content-Type: application/json" -X POST&nb

Linux tee命令示例

功能从标准输入读取数据并写入到标准输出和文件。如果输出的文件不存在,则新建文件。语法tee [OPTION]... [FILE]... 选项:-a(--append): 追加输入内容到文件后面,不是覆盖。-i(--ignore-interrupts): 忽略中断信号。-help: 在线帮助。--version: 显示版本信息。示例使用管道

使用sdkmanager命令行工具安装Android SDK

在使用持续集成工具(如jenkins,travis ci)对android做自动部署时,我们不能像在Android Studio那样使用SDK Manager的GUI界面来安装Android SDK。这种情况下,我们需要使用android命令行工具或者sdkmanager命令行工具来管理Android SDK。这里介绍一下sdkmanager命令行

[译]Swift 4 解析JSON最终指南

Swift 4和Foundation终于回答了如何用Swift来解析JSON的问题。目前已经有了许多优秀的库,但是看到一个全支持的解决方案是非常令人耳目一新的,它不仅易于使用且也提供了对复杂场景进行编码和解码所需的定制。值得注意的是,这里讨论的所有内容都适用于所有Encoder/Decoder实现,例如包括PropertyListEncoder。 如果你需要类似XML这样不同的

Linux命令useradd添加用户的默认值说明

Linux添加用户的命令useradd会使用选项指定的值在加上默认文件/etc/default/useradd设置的值初始化新增的用户。这里将对useradd的默认值做下说明。查看默认值[root@xxx home]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/e

Linux shell脚本获取命令行的输出

在Linux使用命令替换来获取命令行的输出命令替换格式:$(command) 或者`command` 这里的`为反引号。示例OUTPUT="$(ls -1)" echo "${OUTPUT}" 参考:Bash Reference Manual