Otrzymuję taką JSON
odpowiedź z curl
polecenia:
[
{
"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": ""
}
]
Jak mogę policzyć liczbę elementów w tablicy (tutaj 2
), używając Bash
lub wiersza poleceń (np. underscore
)?
NPM
moduł tak. W przeciwnym razie nie.Odpowiedzi:
Po prostu wrzucam kolejny roztwór do miksu ...
Wypróbuj
jq
lekki i elastyczny procesor JSON z wiersza poleceń:Wyświetla długość tablicy obiektów.
źródło
jq
kod początkowy (.[]
) zwraca długość każdego z nichobject
w tablicy głównej, podczas gdy ja szukam długości samej tablicy głównej. Trzeba naprawić.
jq '.[] | length' file.json
jq
. +1jq map_values(length) file.json
. To również da ci klucze.-s
--slurp
jq -s length file.json
Najkrótszym wyrażeniem jest
źródło
Prostym rozwiązaniem jest instalacja
jshon
biblioteki:źródło