【问题标题】:Decode JSON in Bash using python mjson.tool使用 python mjson.tool 在 Bash 中解码 JSON
【发布时间】:2013-06-26 21:21:42
【问题描述】:

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

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

但这会返回:

"first_key": "value",

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

谢谢。

【问题讨论】:

    标签: python json bash grep


    【解决方案1】:
    $ echo '{"first_key": "value", "second_key": "value2"}' | python -c 'import sys, json; print(json.load(sys.stdin)[sys.argv[1]])' first_key
    value
    

    【讨论】:

      【解决方案2】:

      既然你把它标记为grep,这里有一个解决方案(尽管Ignacio's 解决方案是正确的方法):

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

      输出:

      $ echo '{"first_key": "value", "second_key": "value2"}' | grep -oP "(?<=\"first_key\": \")[^\"]+"
      value
      

      【讨论】:

      • 注意:仅限GNU grep 和后者OSX grep
      猜你喜欢
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 2013-01-09
      • 2015-11-30
      • 2014-04-05
      • 2016-09-10
      • 2011-07-21
      • 2016-11-09
      相关资源
      最近更新 更多