jaq
jaq (вимовляється як Jacques1) є клоном інструменту обробки даних JSON jq. jaq спрямований на підтримку великої підмножини синтаксису та операцій jq.
jaq зосереджується на трьох цілях:
Правильність: jaq має на меті забезпечити більш правильну та передбачувану реалізацію jq, зберігаючи сумісність із jq у більшості випадків.
Приклади несподіваної поведінки jq
Продуктивність: спочатку я створив jaq, тому що мене турбував довгий час запуску jq, який на моїй машині становить приблизно 50 мс. Це особливо помітно при обробці великої кількості невеликих файлів. jaq запускається приблизно в 30 разів швидше, ніж jq 1.6, і перевершує jq також у багатьох інших тестах.
Простота: jaq має на меті мати просту та невелику реалізацію, щоб зменшити ймовірність помилок і полегшити внески.
Я черпав натхнення з іншої програми Rust, а саме jql. Однак, на відміну від jql, jaq прагне точно імітувати синтаксис і семантику jq. Це повинно дозволити користувачам, які володіють jq, легко використовувати jaq.
посилання: https://github.com/01mf02/jaq