Show HN: jnv: bộ lọc JSON tương tác dùng `jq`
(github.com/ynqa)-
jnv_jnv_ để khám phá JSON
- jnv_jnv_ cung cấp trình xem JSON tương tác và trình chỉnh sửa bộ lọc
jq. - Được thiết kế lấy cảm hứng từ jid và jiq.
- jnv_jnv_ cung cấp trình xem JSON tương tác và trình chỉnh sửa bộ lọc
-
Tính năng
- Trình xem JSON tương tác và trình chỉnh sửa bộ lọc
jqcó kèm tô sáng cú pháp JSON. - Có thể lấy JSON từ đầu vào chuẩn (stdin), tệp hoặc URL.
- Hỗ trợ tự động hoàn thành bộ lọc.
- Các loại bộ lọc được hỗ trợ: Identity, Object Identifier-Index, Array Index.
- Cung cấp thông báo gợi ý để đánh giá bộ lọc.
- Trình xem JSON tương tác và trình chỉnh sửa bộ lọc
-
Cách cài đặt
- Cài qua Homebrew:
brew install ynqa/tap/jnv - Cài qua Cargo:
- Yêu cầu cần có: automake
- Lệnh cài đặt:
cargo install jnv
- jnv không yêu cầu người dùng phải cài
jqtrên hệ thống. Lý do là nó sử dụng j9, một binding Rust.
- Cài qua Homebrew:
-
Ví dụ
- Đọc từ tệp:
jnv data.json - Đọc từ đầu vào chuẩn:
cat data.json | jnv
- Đọc từ tệp:
-
Keymap
Ctrl + C: thoát jnvTab: tự động hoàn thành bộ lọc jq- Phím mũi tên và tổ hợp
Ctrl: di chuyển con trỏ và xóa ký tự trong bộ lọc Enter: bật/tắt mở rộng/thu gọn trong trình xem JSONCtrl + P/N: mở rộng/thu gọn mọi phần đang gập trong trình xem JSON
-
Cách dùng
- Trình khám phá JSON và bộ lọc tương tác sử dụng jq.
- Ví dụ sử dụng:
jnv [OPTIONS] [INPUT] - Tùy chọn:
- Chỉ định chế độ chỉnh sửa: "insert" hoặc "overwrite"
- Điều chỉnh định dạng hiển thị JSON: thay đổi mức thụt lề
- Có hiển thị gợi ý hay không: hiển thị các gợi ý để cung cấp đề xuất hoặc hướng dẫn cho người dùng
- Chỉ định độ sâu mở rộng ban đầu: độ sâu mở rộng ban đầu của các nút JSON
- Kiểm soát độ dài danh sách gợi ý: điều chỉnh độ dài danh sách gợi ý để người dùng chọn hiệu quả hơn
Ý kiến của GN⁺
- jnv_jnv_ là công cụ giúp khám phá và lọc dữ liệu JSON dễ dàng, đặc biệt hữu ích cho các nhà phát triển làm việc với tập dữ liệu lớn.
- Công cụ này cung cấp sức mạnh của
jqthông qua một giao diện thân thiện hơn với người dùng, giúp xử lý dữ liệu JSON hiệu quả hơn. - jnv_jnv_ được triển khai bằng Rust nên có thể có lợi thế về hiệu năng và độ ổn định, đồng thời việc không cần cài riêng
jqtrên hệ thống cũng là một ưu điểm. - Một số công cụ khác có chức năng tương tự là các công cụ kiểm thử API như Postman hoặc Insomnia, nhưng chúng chủ yếu tập trung vào kiểm thử API nên ít chuyên biệt hơn cho việc khám phá JSON thuần túy như jnv_jnv_.
- Khi áp dụng jnv_jnv_, cần cân nhắc mức độ trực quan của giao diện người dùng và giới hạn của tính năng lọc; nếu cần xử lý JSON phức tạp, có thể vẫn phải học riêng các script
jq.
1 bình luận
Bình luận trên Hacker News
Rất tuyệt, một vài góp ý nhỏ:
Trông thực sự thú vị - nhất định sẽ xem thử.
Thật sự quá hay!! Tôi sẽ cài ngay khi chạm vào laptop.
Rất tuyệt! Trông rất giống jless.
Thỉnh thoảng tôi cũng nghĩ sẽ rất hay nếu có thể tìm kiếm trong đầu ra JSON ngay trong trình duyệt hoặc IDE.
Nếu bạn dùng Emacs thì cũng có jq-mode.
Thật sự rất hay, điều luôn làm tôi bực khi dùng jq là bạn không thể thấy mình sẽ nhận được dữ liệu gì cho đến khi thực sự truy vấn dữ liệu đó.
Nếu bạn dùng Sublime Text, có một plugin làm được điều đó.
Tôi ước mọi người đều biết đến lựa chọn thay thế là "fx".
Rất hay. Không biết có phải đòi hỏi hơi quá không, nhưng liệu có thể điều chỉnh để nó cũng hoạt động với OjG, dùng JSONPath thay vì cú pháp jq không?