jq
JSON yapısını şu şekilde ayrıştırmaya çalışıyorum :
{
"a" : 1,
"b" : 2,
"c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n"
}
Yani, JSON'daki bir öğe, çıkış karakterli json içeren bir dizedir.
Yani, şu çizgide bir şeyim var:
$ jq [.c] myFile.json | jq [.id]
Ama bu çöküyor jq: error: Cannot index string with string
Bunun nedeni .c'nin çıktısının JSON değil, bir dize olmasıdır. Jq'nin bu dizeyi ayrıştırmasını nasıl sağlayabilirim?
Benim ilk çözüm, tüm kaçış karakter değiştirmek için sed kullanmak için ( \":\"
, \",\"
ve \"
) ama yüzüne gözüne bulaştırarak, ben yerleşik bir yolu vardır varsayalım jq
bunu yapmak için?
Teşekkürler!
düzenleme: Ayrıca, burada bulunan jq sürümü:
$ jq --version
jq version 1.3
Sanırım gerekirse güncelleyebilirim.