Я получаю такой JSON
ответ от curl
команды:
[
{
"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": ""
}
]
Как подсчитать количество элементов в массиве (здесь 2
), используя Bash
или командную строку (например underscore
)?
NPM
модуль да. В противном случае нет.Ответы:
Просто бросаю другое решение в смеси ...
Попробуйте
jq
, легкий и гибкий процессор JSON командной строки:Печатает длину массива объектов.
источник
jq
код (.[]
) возвращает длину каждогоobject
в корневом массиве, в то время как я ищу длину самого корневого массива. Нужно исправить.
jq '.[] | length' file.json
jq
есть. +1jq map_values(length) file.json
. Это также даст вам ключи.-s
или--slurp
, которая собирает их в массив при чтении:jq -s length file.json
Самое короткое выражение
источник
Простое решение - установить
jshon
библиотеку:источник