UNIX中将CURL命令中的REST API JSON值转换为表格式

UNIX中将CURL命令中的REST API JSON值转换为表格式,json,shell,unix,Json,Shell,Unix,我有一个带有curl-s的shell脚本http://ifconfig.me/all.json在终端窗口中打印以下输出的命令 { "version" : { "ip_addr": "201.73.103.12", "lang": "java", "remote_host": "OpenSSL/0.9.8w zlib/1.2.3 libidn/1.23 libssh2/1.2.2",", "user_agent": "curl/7.23.1 (i386-sun-solaris2

我有一个带有
curl-s的shell脚本http://ifconfig.me/all.json
在终端窗口中打印以下输出的命令

{
  "version" : {
  "ip_addr": "201.73.103.12",
  "lang": "java",
  "remote_host": "OpenSSL/0.9.8w zlib/1.2.3 libidn/1.23 libssh2/1.2.2",",
  "user_agent": "curl/7.23.1 (i386-sun-solaris2.11) libcurl/7.23.1 
  "charset": "",
  "port": "63713"}
}
我需要以表格格式显示JSON值


有人,请帮助我在UNIX shell脚本中实现这个。谢谢

查看酷炫的命令行JSON查询解析器/格式化程序工具:

您可以将JSON输入导入该工具,并提取/格式化所需的键

或者,只需运行多个
curl-shttp://ifconfigme/
调用您需要的每个“行/列”,并以某种合理的格式输出,例如:

#!/bin/bash

ip=`curl -s http://ifconfig.me/ip`
host=`curl -s http://ifconfig.me/host`

echo -e "ip\thost"
echo -e "${ip}\t${host}"

我不认为任何shell都附带内置的JSON解析,因此您要么会得到一堆regexp,要么会得到额外的依赖项。我假设您希望在shellscript中使用此选项以避免DEP。如果你做得好,你无论如何都会得到它们,难道你不能用一种合适的编程语言来做吗?有可能移动数组中的值,然后进行迭代吗?