6

我需要key从标准 bash 中的 JSON 获取一个,并找到以下内容:

echo '{"first_key": "value", "second_key": "value2"}' | python -mjson.tool | grep 'first_key'

但这会返回:

"first_key": "value",

我怎样才能返回value,即不是键,并删除引号和逗号。

谢谢。

4

2 回答 2

20
$ echo '{"first_key": "value", "second_key": "value2"}' | python -c 'import sys, json; print(json.load(sys.stdin)[sys.argv[1]])' first_key
value
于 2013-06-29T02:01:46.713 回答
2

由于您grep在此处标记它是一个解决方案(尽管Ignacio 的解决方案是正确的方法):

echo "..." | grep -oP "(?<=\"first_key\": \")[^\"]+"

输出:

$ echo '{"first_key": "value", "second_key": "value2"}' | grep -oP "(?<=\"first_key\": \")[^\"]+"
value
于 2013-06-29T02:10:45.753 回答