Saya mendapatkan JSON
balasan semacam ini dari sebuah curl
perintah:
[
{
"cid": 49,
"pyn": "yi4",
"hans": "亿",
"hant": "億",
"tid": 68,
"l10n": "cent million",
"pid": 1,
"pos": "num",
"pos_txt": ""
},
{
"cid": 50,
"pyn": "yi4",
"hans": "亿",
"hant": "億",
"tid": 69,
"l10n": "100 millions",
"pid": 1,
"pos": "num",
"pos_txt": ""
}
]
Bagaimana saya bisa menghitung jumlah item dalam array (di sini 2
), menggunakan Bash
atau baris perintah (misalnya underscore
)?
NPM
modul ya. Kalau tidak, tidak.Jawaban:
Hanya melempar solusi lain dalam campuran ...
Coba
jq
, prosesor JSON baris perintah yang ringan dan fleksibel:Mencetak panjang array objek.
sumber
jq
Kode awal Anda (.[]
) mengembalikan panjang masing-masingobject
dalam array root, sementara saya sedang mencari panjang array root itu sendiri. Perlu diperbaiki ke.
jq '.[] | length' file.json
jq
adalah. +1jq map_values(length) file.json
. Itu akan memberi Anda kunci juga.-s
atau--slurp
, yang mengumpulkan mereka ke dalam array saat membaca:jq -s length file.json
Ekspresi terpendek adalah
sumber
Solusi sederhana adalah dengan menginstal
jshon
perpustakaan:sumber