3 पॉइंट द्वारा GN⁺ 2024-03-20 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • JSON एक्सप्लोरेशन के लिए jnv_jnv_

    • jnv_jnv_ एक इंटरैक्टिव JSON viewer और jq फ़िल्टर एडिटर प्रदान करता है.
    • इसे jid और jiq से प्रेरित होकर डिज़ाइन किया गया है.
  • फ़ीचर्स

    • JSON syntax highlighting के साथ इंटरैक्टिव JSON viewer और jq फ़िल्टर एडिटर.
    • stdin, फ़ाइल, और URL से JSON लाया जा सकता है.
    • फ़िल्टर auto-completion का समर्थन.
    • समर्थित फ़िल्टर प्रकार: Identity, Object Identifier-Index, Array Index.
    • फ़िल्टर evaluation के लिए hint messages प्रदान करता है.
  • इंस्टॉलेशन तरीका

    • Homebrew से इंस्टॉल: brew install ynqa/tap/jnv
    • Cargo से इंस्टॉल:
      • आवश्यक prerequisite: automake
      • इंस्टॉल कमांड: cargo install jnv
    • jnv के लिए सिस्टम पर jq अलग से इंस्टॉल करने की ज़रूरत नहीं है, क्योंकि यह Rust binding j9 का उपयोग करता है.
  • उदाहरण

    • फ़ाइल से पढ़ना: jnv data.json
    • stdin से पढ़ना: cat data.json | jnv
  • कीमैप

    • Ctrl + C: jnv बंद करें
    • Tab: jq फ़िल्टर auto-completion
    • arrow keys और Ctrl संयोजन: कर्सर मूवमेंट और फ़िल्टर कैरेक्टर हटाना
    • Enter: JSON viewer में expand/collapse toggle
    • Ctrl + P/N: JSON viewer में सभी folds expand/collapse
  • उपयोग

    • jq का उपयोग करने वाला JSON explorer और इंटरैक्टिव फ़िल्टर.
    • उपयोग उदाहरण: jnv [OPTIONS] [INPUT]
    • विकल्प:
      • एडिट मोड सेट करना: "insert" या "overwrite"
      • JSON display format समायोजित करना: indentation level बदलना
      • hints दिखाने का विकल्प: उपयोगकर्ता को सुझाव या मार्गदर्शन देने वाले hints दिखाने हैं या नहीं
      • initial expansion depth सेट करना: JSON nodes की शुरुआती expansion depth
      • suggestion list length नियंत्रित करना: उपयोगकर्ता अधिक कुशलता से चयन कर सके, इसके लिए सुझाव सूची की लंबाई समायोजित करना

GN⁺ की राय

  • jnv_jnv_ ऐसा टूल है जो JSON डेटा को आसानी से एक्सप्लोर और फ़िल्टर करने देता है, और खास तौर पर बड़े datasets पर काम करने वाले डेवलपर्स के लिए उपयोगी है.
  • यह टूल jq की ताकतवर क्षमताओं को user-friendly interface में देता है, जिससे JSON डेटा प्रोसेसिंग अधिक कुशल हो जाती है.
  • jnv_jnv_ Rust में इम्प्लीमेंट किया गया है, इसलिए इसे performance और stability के फायदे मिल सकते हैं, और सिस्टम पर jq अलग से इंस्टॉल न करना भी एक लाभ है.
  • समान फ़ंक्शन देने वाले अन्य टूल्स में Postman या Insomnia जैसे API testing tools शामिल हैं, लेकिन वे मुख्य रूप से API testing पर केंद्रित हैं, इसलिए jnv_jnv_ की तरह शुद्ध JSON एक्सप्लोरेशन के लिए उतने विशेषीकृत नहीं हैं.
  • jnv_jnv_ अपनाते समय user interface की सहजता और फ़िल्टरिंग फ़ीचर्स की सीमाओं पर विचार करना चाहिए, और यदि जटिल JSON प्रोसेसिंग चाहिए तो jq scripts अलग से सीखनी पड़ सकती हैं.

1 टिप्पणियां

 
GN⁺ 2024-03-20
Hacker News टिप्पणियाँ
  • बहुत शानदार, कुछ छोटी टिप्पणियाँ:

    • मध्यम आकार के JSON (16MB) पर बहुत धीमा है
    • फ़ॉन्ट बहुत गहरा है (PR सबमिट किया है)
    • बेहतर performance वाले विकल्प की तलाश में, jq फीचर्स तो नहीं हैं लेकिन तेज़ JSON viewer fx मिला (fx.wtf)
  • वाकई दिलचस्प लग रहा है - ज़रूर देखूँगा।

    • अभी तक interactive queries के लिए jq और up इस्तेमाल करता रहा हूँ, लेकिन up का UX पसंद नहीं है (खासकर लंबी queries या non-ASCII डेटा के लिए)
    • विकल्प खोजने में काफ़ी दिलचस्पी है
  • बहुत बढ़िया!! लैपटॉप हाथ में आते ही इसे install करूँगा।

    • मैंने भी कुछ ऐसा ही बनाया है, इसलिए पोस्ट ने तुरंत ध्यान खींचा
    • सोच रहा हूँ क्या इस आइडिया को generalize किया जा सकता है ताकि CLI में और commands के लिए interactive interface हो सके
    • मैं लंबे समय से एक "command builder" की कल्पना कर रहा हूँ, जो cursor position के आधार पर उपयुक्त documentation लाकर command line edit करते समय दिखा सके
  • बहुत शानदार! यह jless से काफ़ी मिलता-जुलता लग रहा है।

  • कभी-कभी सोचता हूँ कि browser या IDE में JSON output के भीतर search कर पाना अच्छा होगा।

    • लेकिन यह समस्या इतनी urgent नहीं है कि उस पर समय लगाया जाए
  • अगर आप Emacs इस्तेमाल करते हैं, तो jq-mode भी है।

    • लेकिन jnv का filter autocomplete फीचर वाकई शानदार killer feature है
    • jq-mode
  • बहुत शानदार, jq इस्तेमाल करते समय मुझे हमेशा यह बात frustrate करती थी कि डेटा को query करने से पहले यह नहीं दिखता कि आखिर क्या मिलने वाला है।

  • अगर आप Sublime Text इस्तेमाल करते हैं, तो इसके लिए एक plugin है।

    • ध्यान दें: वह plugin मैंने कुछ समय पहले लिखा था
    • Jq plugin
  • काश सभी लोग वैकल्पिक "fx" के बारे में जानते।

    • इसमें map, filter, reduce वगैरह और भी बहुत कुछ किया जा सकता है, और इसकी semantics उन चीज़ों के ज़्यादा करीब हैं जिन्हें आप पहले से जानते हैं
    • यह YAML भी support करता है
    • fx शुरू करना
  • बहुत शानदार। पता नहीं यह ज़्यादा बड़ी माँग तो नहीं, लेकिन क्या इसे jq syntax की जगह JSONPath इस्तेमाल करने वाले OjG के साथ भी काम करने लायक बनाया जा सकता है?

    • मदद करने के लिए तैयार हूँ
    • अगर यह असभ्य लगा हो तो माफ़ी चाहता हूँ