jq Playground
JSON पेस्ट करें, एक jq filter लिखें, और परिणाम तुरंत देखें। पूरी तरह आपके ब्राउज़र में, WebAssembly में संकलित असली jq चलाता है।
आपका JSON आपके ब्राउज़र में WebAssembly के रूप में चल रहे jq द्वारा स्थानीय रूप से संसाधित होता है और कभी अपलोड नहीं होता, पर किसी भी टूल में रहस्य या production डेटा पेस्ट करने से बचें।
jq के बजाय एक JSONPath चाहिए? JSONPath Evaluator आज़माएँ।
jq Playground के बारे में
यह jq playground आपको कुछ भी इंस्टॉल किए बिना JSON के विरुद्ध jq filter चलाने देता है। एक JSON दस्तावेज़ पेस्ट करें, .users | map(.name), .[] | select(.active), या group_by(.type) जैसा expression टाइप करें, और परिणाम टाइप करते ही दिखता है। यह WebAssembly में संकलित असली jq 1.8.2 है, इसलिए वही filter, function, और pipe सिंटैक्स जो आप command line पर उपयोग करते हैं यहाँ काम करते हैं, जिनमें map, select, sort_by, group_by, to_entries, और string interpolation शामिल हैं। स्ट्रिंग परिणामों से कोट्स हटाने के लिए raw output (-r) टॉगल करें, या हर वैल्यू को एक लाइन पर रखने के लिए compact output (-c)। jq compile और runtime एरर दिखाए जाते हैं ताकि आप किसी filter को जल्दी ठीक कर सकें। चूँकि jq पेज के अंदर WebAssembly के रूप में चलता है, आपके द्वारा पेस्ट किया गया JSON आपके डिवाइस पर स्थानीय रूप से संसाधित होता है और कभी किसी सर्वर पर अपलोड नहीं होता।
विशेषताएँ
- WebAssembly में संकलित असली jq 1.8.2 चलाता है, कोई आंशिक पुनर्क्रियान्वयन नहीं
- एक debounced बदलाव पर लाइव परिणाम, साथ ही एक Run बटन और Cmd/Ctrl+Enter
- बिना कोट वाली स्ट्रिंग निकालने के लिए raw output (-r) टॉगल
- प्रति लाइन एक वैल्यू के लिए compact output (-c) टॉगल
- stderr से सामने लाए गए स्पष्ट jq compile और runtime एरर
- क्लिक करने योग्य उदाहरण filter (map, select, group_by, length, sort) जो क्वेरी भर देते हैं
- आउटपुट को एक क्लिक में कॉपी करें
- WASM केवल तब लोड होता है जब आप पहली बार कोई filter चलाते हैं, फिर गर्म बना रहता है
jq Playground का उपयोग कैसे करें
- अपना JSON, JSON बॉक्स में पेस्ट या टाइप करें।
- filter बॉक्स में एक jq filter लिखें, उदाहरण के लिए .users | map(.name)।
- आउटपुट को अपडेट होते देखें, या तुरंत मूल्यांकन के लिए Run / Cmd+Enter दबाएँ।
- अलग फ़ॉर्मैटिंग चाहिए तो raw (-r) या compact (-c) टॉगल करें।
- परिणाम पाने के लिए Copy पर क्लिक करें।
उदाहरण
इनपुट
{
"users": [
{ "name": "Ada", "active": true },
{ "name": "Linus", "active": false }
]
}
आउटपुट
[
"Ada"
]
filter .users | map(select(.active)) | map(.name) केवल सक्रिय उपयोगकर्ता रखता है और उनके नाम लौटाता है।
सामान्य त्रुटियाँ और समस्या निवारण
- jq "Unexpected end of input" या "unexpected token" जैसा सिंटैक्स एरर बताता है। — filter में किसी असंतुलित ब्रैकेट या pipe की जाँच करें, जैसे .[ को .[] या .[0] होना चाहिए; jq चलाने से पहले पूरे expression को पार्स करता है।
- "Cannot iterate over null" या "Cannot index ... with ..."। — पाथ आपके डेटा पर मौजूद नहीं है। .users[]? या .field // empty जैसी वैकल्पिक एक्सेस उपयोग करें, और पुष्टि करें कि की नाम आपके JSON से मेल खाते हैं।
- स्ट्रिंग आउटपुट में अभी भी आसपास के कोट्स हैं। — यह सामान्य JSON आउटपुट है। बिना कोट्स के स्ट्रिंग निकालने के लिए raw output (-r) चालू करें, जो शेल में pipe करते समय आप आमतौर पर चाहते हैं।
- filter सही दिखने पर भी आउटपुट खाली है। — आपके filter ने शायद कोई वैल्यू नहीं बनाई (उदाहरण के लिए एक select जो किसी से मैच नहीं हुआ)। पहले identity filter . आज़माएँ कि JSON पार्स होता है, फिर सीमित करें।
अक्सर पूछे जाने वाले प्रश्न
- क्या यह असली jq चलाता है?
- हाँ। यह WebAssembly में संकलित jq चलाता है, इसलिए यह असली jq engine है, कोई JavaScript पुनर्क्रियान्वयन नहीं। filter, built-in function, और pipe semantics उसी jq से मेल खाते हैं जो आप एक terminal में चलाते हैं।
- कौन-सा jq संस्करण सपोर्ट किया जाता है?
- jq 1.8.2, jq-wasm build के जरिए। jq 1.8 में उपलब्ध function और सिंटैक्स — जैसे group_by, to_entries, ltrimstr, और \(...) के साथ string interpolation — यहाँ काम करते हैं।
- raw (-r) और compact (-c) टॉगल क्या करते हैं?
- raw output (-r) स्ट्रिंग परिणामों को आसपास के कोट्स के बिना प्रिंट करता है, jq के -r flag से मेल खाते हुए। compact output (-c) हर JSON वैल्यू को pretty-print करने के बजाय एक ही लाइन पर प्रिंट करता है, jq के -c flag से मेल खाते हुए।
- क्या मेरा JSON कहीं अपलोड होता है?
- नहीं। jq इस पेज के अंदर WebAssembly के रूप में चलता है, इसलिए आपके द्वारा पेस्ट किया गया JSON और लिखा गया filter आपके डिवाइस पर स्थानीय रूप से मूल्यांकित होते हैं और किसी सर्वर पर नहीं भेजे जाते।
- पहली बार चलाना थोड़ा धीमा क्यों होता है?
- jq WebAssembly module पहली बार filter चलाने पर डाउनलोड और आरंभ होता है, इसीलिए आपको एक संक्षिप्त लोडिंग स्थिति दिखती है। उसके बाद यह मेमोरी में रहता है और बाद के रन तेज़ होते हैं।
- क्या मैं select, map, और group_by के साथ filter चला सकता हूँ?
- हाँ। .[] | select(.active), .users | map(.name), और group_by(.type) जैसे expression सभी काम करते हैं, साथ ही jq के बाकी filtering, transformation, और aggregation function भी।
संबंधित टूल
- JSON फ़ॉर्मेटर — त्रुटि की स्थिति के साथ JSON को सुंदर बनाएँ, छोटा करें और वैलिडेट करें।
- JSONPath Evaluator — किसी भी JSON के विरुद्ध JSONPath expression का मूल्यांकन करें और मैच लाइव देखें।
- JSON व्यूअर — विस्तृत/संक्षिप्त करने और नोड पाथ के साथ टेक्स्ट और फ़ोल्ड होने योग्य ट्री व्यूअर।
- JSON Flatten / Unflatten — नेस्टेड JSON को डॉट-नोटेशन कीज़ में फ़्लैटन करें, या वापस अनफ़्लैटन करें।
- JSON Diff — दो JSON दस्तावेज़ों की तुलना करें और एक संरचनात्मक diff देखें।
- YAML ↔ JSON — YAML को JSON में और वापस कन्वर्ट करें।
सभी ArrayKit टूल