3P by neo 8달전 | favorite | 댓글 1개
  • JSON 탐색을 위한 jnv_jnv_

    • jnv_jnv_는 인터랙티브한 JSON 뷰어와 jq 필터 편집기를 제공함.
    • jid와 jiq에 영감을 받아 설계됨.
  • 기능

    • JSON 구문 강조 기능을 포함한 인터랙티브 JSON 뷰어 및 jq 필터 편집기.
    • 표준 입력(stdin), 파일, URL에서 JSON을 받아올 수 있음.
    • 필터 자동 완성 기능 지원.
    • 지원하는 필터 유형: Identity, Object Identifier-Index, Array Index.
    • 필터 평가를 위한 힌트 메시지 제공.
  • 설치 방법

    • Homebrew를 통한 설치: brew install ynqa/tap/jnv
    • Cargo를 통한 설치:
      • 필요 요구 사항: automake
      • 설치 명령어: cargo install jnv
    • jnv는 사용자가 시스템에 jq를 설치할 필요가 없음. Rust 바인딩인 j9을 활용하기 때문.
  • 예시

    • 파일에서 읽기: jnv data.json
    • 표준 입력에서 읽기: cat data.json | jnv
  • 키맵

    • Ctrl + C: jnv 종료
    • Tab: jq 필터 자동 완성
    • 화살표 키 및 Ctrl 조합: 커서 이동 및 필터 문자 삭제
    • Enter: JSON 뷰어에서 확장/축소 토글
    • Ctrl + P/N: JSON 뷰어에서 모든 접힘 확장/축소
  • 사용법

    • jq를 활용한 JSON 탐색기 및 인터랙티브 필터.
    • 사용 예: jnv [OPTIONS] [INPUT]
    • 옵션:
      • 편집 모드 지정: "insert" 또는 "overwrite"
      • JSON 표시 형식 조정: 들여쓰기 수준 변경
      • 힌트 표시 여부: 사용자에게 제안이나 가이드를 제공하는 힌트 표시 여부
      • 초기 확장 깊이 지정: JSON 노드의 초기 확장 깊이
      • 제안 목록 길이 제어: 사용자가 선택을 더 효율적으로 할 수 있도록 제안 목록의 길이 조정

GN⁺의 의견

  • jnv_jnv_는 JSON 데이터를 쉽게 탐색하고 필터링할 수 있게 해주는 도구로, 특히 대규모 데이터셋을 다루는 개발자에게 유용함.
  • 이 도구는 jq의 강력한 기능을 사용자 친화적인 인터페이스로 제공하여 JSON 데이터 처리를 더욱 효율적으로 만듦.
  • jnv_jnv_는 Rust로 구현되어 있어 성능과 안정성 측면에서 이점을 가질 수 있으며, 시스템에 jq를 별도로 설치할 필요가 없는 것도 장점임.
  • 비슷한 기능을 제공하는 다른 도구로는 Postman이나 Insomnia와 같은 API 테스팅 도구가 있으나, 이들은 주로 API 테스트에 초점을 맞추고 있어 jnv_jnv_처럼 순수한 JSON 탐색에는 덜 특화되어 있음.
  • jnv_jnv_를 도입할 때는 사용자 인터페이스의 직관성과 필터링 기능의 한계를 고려해야 하며, 복잡한 JSON 처리가 필요한 경우 jq 스크립트를 별도로 학습할 필요가 있을 수 있음.
Hacker News 의견
  • 매우 멋짐, 약간의 지적:

    • 중간 크기의 JSON(16MB)에 대해 매우 느림
    • 글꼴이 너무 어두움 (PR 제출함)
    • 성능이 좋은 대안을 찾던 중, jq 기능은 없지만 빠른 JSON 뷰어인 fx를 발견함 (fx.wtf)
  • 정말 흥미로워 보임 - 꼭 확인해볼 것임.

    • 지금까지 jq와 up을 사용해 인터랙티브 쿼리를 해왔지만, up의 UX가 마음에 들지 않음 (특히 긴 쿼리나 비ASCII 데이터에 대해)
    • 대체제를 찾는 데 관심이 많음
  • 정말 멋짐!! 랩톱을 쥐는 대로 설치할 것임.

    • 비슷한 것을 만들었기 때문에 글에 즉시 끌림
    • CLI에서 더 많은 명령어들이 인터랙티브 인터페이스를 가질 수 있도록 아이디어를 일반화하는 것이 가능한지 궁금함
    • "커맨드 빌더"를 오랫동안 상상해왔는데, 커서 위치에 따라 적절한 문서를 불러와 커맨드 라인을 편집하면서 보여줄 수 있음
  • 정말 멋짐! jless와 매우 비슷해 보임.

  • 때때로 브라우저나 IDE에서 JSON 출력 내에서 검색할 수 있으면 좋겠다는 생각을 함.

    • 하지만 문제가 시간을 투자할 만큼 시급하지는 않음
  • Emacs를 사용한다면 jq-mode도 있음.

    • 하지만 jnv의 필터 자동완성 기능이 정말 좋은 킬러 기능임
    • jq-mode
  • 정말 멋짐, jq를 사용할 때 항상 답답했던 점은 데이터를 검색하기 전까지 어떤 데이터를 얻게 될지 볼 수 없다는 것임.

  • Sublime Text를 사용한다면, 그것을 가능하게 하는 플러그인이 있음.

  • 대안인 "fx"에 대해 모두가 알았으면 함.

    • map, filter, reduce 등 더 많은 것을 할 수 있고, 이미 알고 있는 것에 더 가까운 의미를 가짐
    • YAML도 지원함
    • fx 시작하기
  • 매우 멋짐. 너무 과한 부탁인지 모르겠지만, jq 구문 대신 JSONPath를 사용하는 OjG와도 작동하도록 적용할 수 있을까?

    • 도와줄 의향이 있음
    • 만약 무례했다면 사과함