Jé *_*eue 125 unix configuration parsing json
任何人都可以推荐一个Unix(选择你的风味)JSON解析器,可以用来内省管道中JSON响应的值吗?
muh*_*hqu 228
我更喜欢python -m json.tool默认情况下在大多数*nix操作系统上默认可用.
$ echo '{"foo":1, "bar":2}' | python -m json.tool
{
"bar": 2,
"foo": 1
}
Run Code Online (Sandbox Code Playgroud)
但应该注意的是,这将按字母顺序对所有键进行排序,这对于使用无序HashMaps的某种语言生成json的地方来说是好事还是可能是好事...
小智 138
如果您正在寻找便携式C编译工具:
http://stedolan.github.com/jq/
来自网站:
jq就像是用于JSON数据的sed - 你可以用它来切片和过滤,映射和转换结构化数据,同样方便sed,awk,grep和朋友让你玩文本.
jq可以用很少的努力将你拥有的数据格式变成你想要的数据格式,而这样做的程序通常比你期望的更短更简单.
教程:http://stedolan.github.com/jq/tutorial/
手册:http://stedolan.github.com/jq/manual/
下载地址:http://stedolan.github.com/jq/download/
Dav*_*son 62
我创建了一个专门用于命令行JSON操作的模块:
https://github.com/ddopson/underscore-cli
它可以让你轻松地做强大的事情:
cat earthporn.json | underscore select '.data .title'
# [ 'Fjaðrárgljúfur canyon, Iceland [OC] [683x1024]',
# 'New town, Edinburgh, Scotland [4320 x 3240]',
# 'Sunrise in Bryce Canyon, UT [1120x700] [OC]',
# ...
# 'Kariega Game Reserve, South Africa [3584x2688]',
# 'Valle de la Luna, Chile [OS] [1024x683]',
# 'Frosted trees after a snowstorm in Laax, Switzerland [OC] [1072x712]' ]
cat earthporn.json | underscore select '.data .title' | underscore count
# 25
underscore map --data '[1, 2, 3, 4]' 'value+1'
# prints: [ 2, 3, 4, 5 ]
underscore map --data '{"a": [1, 4], "b": [2, 8]}' '_.max(value)'
# [ 4, 8 ]
echo '{"foo":1, "bar":2}' | underscore map -q 'console.log("key = ", key)'
# key = foo
# key = bar
underscore pluck --data "[{name : 'moe', age : 40}, {name : 'larry', age : 50}, {name : 'curly', age : 60}]" name
# [ 'moe', 'larry', 'curly' ]
underscore keys --data '{name : "larry", age : 50}'
# [ 'name', 'age' ]
underscore reduce --data '[1, 2, 3, 4]' 'total+value'
# 10
Run Code Online (Sandbox Code Playgroud)
它拥有最好的"智能空白"JSON格式化程序之一:

如果您有任何功能请求,请对此帖子发表评论或在github中添加问题.我很乐意优先考虑社区成员所需的功能.
Eth*_*her 17
您可以使用此命令行解析器(其中,如果你喜欢,你可以放到一个bash的别名),使用内置到Perl的核心模块:
perl -MData::Dumper -MJSON::PP=from_json -ne'print Dumper(from_json($_))'
Run Code Online (Sandbox Code Playgroud)
小智 12
如果你的堆栈中碰巧有node.js和npm,那么还有JSON命令行处理工具包.
另一个用于在Unix命令行上按摩JSON的"json"命令.
以下是其他选择:
Coo*_*J86 12
Checkout TickTick.
这是一个真正的Bash JSON解析器.
#!/bin/bash
. /path/to/ticktick.sh
# File
DATA=`cat data.json`
# cURL
#DATA=`curl http://foobar3000.com/echo/request.json`
tickParse "$DATA"
echo ``pathname``
echo ``headers["user-agent"]``
Run Code Online (Sandbox Code Playgroud)
有人提到过Jshon或JSON.sh吗?
https://github.com/keenerd/jshon
管道json到它,它遍历json对象并打印出当前对象的路径(作为JSON数组),然后打印出没有空格的对象.
http://kmkeen.com/jshon/
Jshon从stdin加载json文本,执行操作,然后在stdout上显示最后一个操作,并且还成为常用文本处理管道的一部分.
| 归档时间: |
|
| 查看次数: |
116682 次 |
| 最近记录: |