【发布时间】:2019-03-03 10:24:12
【问题描述】:
从zabbix-api登录我有这个输出:
{"jsonrpc":"2.0","result":"4b79a399f043fa44c5653bee3ecb346d","id":0}
我正在尝试在 ruby 中使用上面的代码进行解析:
command_out = shell_out(command).stdout.to_s
node.default['zabbix_server']['zabbix_auth'] = command_out.lines.grep(/"(result)":"((\\\"|[^"])*)"/)
我怎样才能只获取"4b79a399f043fa44c5653bee3ecb346d"?
【问题讨论】:
-
解析JSON并获取值:
JSON.parse(s)["result"] -
FWIW:
'{"jsonrpc":"2.0","result":"4b79a399f043fa44c5653bee3ecb346d","id":0}'[/(?<="result":").*?(?=")/] #⇒ "4b79a399f043fa44c5653bee3ecb346d".
标签: json ruby regex chef-infra