bash の json 文字列からいくつかの情報を抽出する必要があります。json-stringsは次のようになります
{"ok":true,"id":"af1aa5cef5dc0c86fd734ff3d42a8188","rev":"1-f28941b049d7d356ae113fa061ddfe1f"}
(couchdb 挿入からの出力)
idだけを取得したいので、やってみました
$IFS=;,\"
json=tail -n1 output
echo $json
\\ { ok true id af1aa5cef5dc0c86fd734ff3d42a8188 rev 1-f28941b049d7d356ae113fa061ddfe1f }
したがって、これまでのところ、すべて問題ないように見えますが、要素にアクセスしようとすると、${json[0]} は文字列全体を返しますが、他のすべての ${json[n]} は空です。
一方で、
for i in $json;
do echo $i
done
$json の各要素で動作します...
私は何か間違ったことをしているに違いありませんが、何ですか?
(そして、はい、json文字列のこの種の「解析」は、もう少し複雑なもので問題を引き起こすことを知っています-しかし、これらの文字列ではうまくいくはずです-私は思った)