JSON क्वेरी टूल (jq जैसा)

jq जैसी सिंटैक्स से JSON डेटा को क्वेरी और रूपांतरित करें। pipes, selects, maps, sort_by, unique, flatten और बहुत कुछ से निकालें, फ़िल्टर करें और दोबारा आकार दें।

अपडेट किया गया

Share:
Home/Utility Tools/JSON Query (jq-like)

JSON Query (jq-like)

Query and transform JSON data using jq-like syntax. Extract, filter, and reshape JSON with a powerful mini query language.

JSON Input

541 B

Result

Error

Query Error

Unknown accessor: .users[].name

jq Syntax Reference

Access

.Identity (whole doc)
.keyObject key
.a.bNested key
.[]Iterate array
.[0]Array index
.[0:3]Array slice

Transforms

lengthArray/string length
keysObject keys
valuesObject values
uniqueDeduplicate
flattenFlatten nested arrays
first / lastFirst/last element

Filter & Map

select(.k == "v")Filter by condition
map(.key)Map over array
sort_by(.key)Sort by field
|Pipe / chain ops

अक्सर पूछे जाने वाले प्रश्न

JSON Query Tool (jq-like) क्या है?

JSON Query Tool (jq-like) एक मुफ़्त ऑनलाइन टूल है जो jq-जैसी सिंटैक्स का उपयोग करके JSON डेटा की क्वेरी और रूपांतरण करता है। pipes, selects, maps, sort_by, unique, flatten और बहुत कुछ के साथ डेटा निकालें, फ़िल्टर करें और पुनः आकार दें। यह पूरी तरह आपके ब्राउज़र में चलता है, बिना किसी इंस्टॉलेशन या साइन-अप के।

कौन-सी jq सिंटैक्स?

डॉट एक्सेस (.key), array iteration (.[], .[0]), slicing (.[0:3]), pipes (|), select फ़िल्टर, map, sort_by, unique, flatten, keys, values, length, first, last।

क्या यह पूर्ण jq है?

नहीं — यह सबसे अधिक उपयोग किए जाने वाले पैटर्न को कवर करता है। पूर्ण jq में सैकड़ों बिल्ट-इन होते हैं; यह टूल उन 18 ऑपरेशनों को संभालता है जो 90% सामान्य क्वेरीज़ को कवर करते हैं।

क्या मेरा JSON सुरक्षित है?

हाँ। सारी प्रोसेसिंग आपके ब्राउज़र में होती है। कोई डेटा किसी सर्वर पर नहीं भेजा जाता।

क्या JSON Query Tool (jq-like) मुफ़्त है?

हाँ, JSON Query Tool (jq-like) 100% मुफ़्त है — कोई पंजीकरण नहीं, कोई छिपा शुल्क नहीं और कोई उपयोग सीमा नहीं। सारी प्रोसेसिंग आपके ब्राउज़र में स्थानीय रूप से होती है, जिससे पूरी निजता सुनिश्चित होती है।

क्या इस टूल के साथ मेरा डेटा सुरक्षित है?

बिल्कुल। JSON Query Tool (jq-like) सब कुछ आपके ब्राउज़र में क्लाइंट-साइड प्रोसेस करता है। कोई भी डेटा किसी सर्वर पर अपलोड या संग्रहीत नहीं किया जाता। आपकी सामग्री हर समय आपके डिवाइस पर निजी रहती है।

क्या JSON Query Tool (jq-like) मोबाइल डिवाइस पर काम करता है?

हाँ, JSON Query Tool (jq-like) पूरी तरह रिस्पॉन्सिव है और स्मार्टफ़ोन व टैबलेट पर काम करता है। आप इसे किसी भी आधुनिक वेब ब्राउज़र वाले डिवाइस पर इस्तेमाल कर सकते हैं — किसी ऐप डाउनलोड की ज़रूरत नहीं।

क्या इस टूल को इस्तेमाल करने के लिए मुझे खाता बनाना होगा?

किसी खाते या पंजीकरण की आवश्यकता नहीं है। बस अपने ब्राउज़र में JSON Query Tool (jq-like) खोलें और तुरंत इस्तेमाल करना शुरू करें। कोई साइन-अप बाधा या उपयोग प्रतिबंध नहीं है।

मैं JSON Query Tool (jq-like) का उपयोग कैसे करूँ?

बस दिए गए फ़ील्ड में अपना इनपुट दर्ज करें, अपनी पसंद के अनुसार कोई भी सेटिंग समायोजित करें, और टूल उसे तुरंत प्रोसेस कर देगा। फिर आप परिणाम को क्लिपबोर्ड पर कॉपी कर सकते हैं या डाउनलोड कर सकते हैं।

कौन-कौन से ब्राउज़र समर्थित हैं?

JSON Query Tool (jq-like) सभी आधुनिक ब्राउज़रों में काम करता है, जिनमें Chrome, Firefox, Safari, Edge और Opera शामिल हैं। सर्वोत्तम अनुभव के लिए अपने पसंदीदा ब्राउज़र का नवीनतम संस्करण इस्तेमाल करें।

jq क्वेरी में पाइप (|) क्या काम करता है?

पाइप एक चरण के आउटपुट को अगले चरण में भेजता है, इसलिए क्वेरी को बाएँ से दाएँ एक छोटी असेंबली लाइन की तरह पढ़ा जाता है। ".users | select(.active == true) | map(.name)" में, पहला चरण users ऐरे निकालता है, दूसरा चरण सिर्फ़ उन आइटम्स को रखता है जिनका active true है, और तीसरा चरण बचे हुए हर रिकॉर्ड में से सिर्फ़ name निकालता है। हर चरण उसी पर काम करता है जो पिछले चरण ने बनाया, इसलिए क्रम मायने रखता है: आमतौर पर पहले किसी ऐरे तक पहुँचते हैं, फिर फ़िल्टर करते हैं, फिर मैप या सॉर्ट करते हैं। पाइप के बिना आप सिर्फ़ एक ही एक्सेस एक्सप्रेशन तक सीमित रहेंगे। चेनिंग से आप किसी गहरे नेस्टेड API रिस्पॉन्स को एक ही लाइन में बिल्कुल वही वैल्यूज़ में बदल सकते हैं जो आपको चाहिए। ऊपर बार में एक पाइप्ड क्वेरी टाइप करें और जैसे-जैसे आप हर चरण बनाते हैं, रिज़ल्ट लाइव अपडेट होता है।

JSON ऐरे के हर आइटम में से एक ही फ़ील्ड कैसे निकालें?

हर एलिमेंट में से एक फ़ील्ड निकालने के लिए map को डॉट पाथ के साथ इस्तेमाल करें। users की लिस्ट के लिए, ".users | map(.email)" सिर्फ़ email वैल्यूज़ का एक फ्लैट ऐरे लौटाता है, बाकी हर फ़ील्ड को छोड़ते हुए। यह किसी विस्तृत API लिस्ट को एक ही कॉलम में बदलने का सबसे तेज़ तरीका है, जिसे आप स्कैन कर सकते हैं, कॉपी कर सकते हैं, या स्प्रेडशीट में पेस्ट कर सकते हैं। अगर आपको सिर्फ़ यूनीक वैल्यूज़ चाहिए, तो आखिर में unique चेन करें: ".users | map(.role) | unique" रिपीट हटा देता है ताकि आप हर अलग role को एक ही बार देखें। आप नेस्टेड फ़ील्ड्स तक भी पहुँच सकते हैं, जैसे map(.address.city), बशर्ते वह पाथ हर आइटम पर मौजूद हो। रिज़ल्ट पैनल एलिमेंट काउंट बताता है, इसलिए आप कन्फ़र्म कर सकते हैं कि हर रिकॉर्ड के लिए एक वैल्यू मिली। ऊपर अपना ऐरे पेस्ट करें और जो कॉलम चाहिए उसे निकालने के लिए map क्वेरी चलाएँ।

मेरी क्वेरी 'Cannot slice non-array' या टाइप मिसमैच एरर क्यों देती है?

ज़्यादातर क्वेरी एरर तब आते हैं जब किसी गलत तरह की वैल्यू पर कोई ऑपरेशन लगाया जाता है। .[0:3] से स्लाइसिंग, .[0] से इंडेक्सिंग, और unique, flatten, तथा sort_by जैसे हेल्पर्स, सभी को एक ऐरे की उम्मीद होती है, इसलिए इन्हें किसी ऑब्जेक्ट या स्ट्रिंग पर लगाने से अंदाज़ा लगाने के बजाय टाइप मिसमैच एरर आता है। एक आम वजह किसी चरण को भूल जाना है: ".[0]" तब फेल होता है जब डॉक्यूमेंट का टॉप लेवल एक ऑब्जेक्ट हो, जबकि ".users[0]" काम करता है क्योंकि .users ही ऐरे है। यह टूल चुपचाप फेल होने के बजाय सादी भाषा में एरर दिखाता है कि क्या गलत हुआ, जिससे यह पहचानना आसान हो जाता है कि आपको पहले किसी key में जाना होगा। जाँचें कि उस पॉइंट पर वैल्यू वाकई एक लिस्ट है, अक्सर फेल हो रहे ऑपरेशन से पहले वाला पाथ ही चलाकर। ऊपर क्वेरी बार में पाथ को एडजस्ट करें और रिज़ल्ट तुरंत फिर से चलता है ताकि आप फिक्स कन्फ़र्म कर सकें।

किसी शर्त से मैच करने वाले रिकॉर्ड्स तक JSON को कैसे फ़िल्टर करें?

सिर्फ़ चाहे गए आइटम रखने के लिए कोष्ठक के अंदर एक तुलना के साथ select का इस्तेमाल करें। ".users | select(.role == \"admin\")" सिर्फ़ एडमिन अकाउंट्स लौटाता है, जबकि ".users | select(.age >= 18)" सभी वयस्क लोगों को रखता है। सपोर्टेड तुलनाएँ हैं ==, !=, >, <, >=, और <=, जिनमें ऑर्डर वाले ऑपरेटर्स (>, <, >=, <=) नंबरों के लिए बने हैं और == या != स्ट्रिंग्स, नंबरों और बूलियन्स — सभी पर काम करते हैं। चूँकि select किसी ऐरे के हर एलिमेंट पर चलता है, आमतौर पर आप पहले एक ऐरे को उसमें पाइप करते हैं। इसे map के साथ मिलाकर एक ही पास में फ़िल्टर और प्रोजेक्ट करें, जैसे ".users | select(.active == true) | map(.name)"। रिज़ल्ट पैनल दिखाता है कि फ़िल्टर के बाद कितने आइटम बचे, जो जल्दी जाँचने का तरीका है कि क्या यह ठीक वैसे ही सेट को छोटा कर पाया जैसा आप चाहते थे। ऊपर अपने डेटा या बिल्ट-इन सैंपल पर एक select क्वेरी आज़माएँ।

JSON में आखिरी आइटम कैसे पाएँ या रिकॉर्ड्स की संख्या कैसे गिनें?

गिनने के लिए किसी ऐरे को length में पाइप करें: ".users | length" users की संख्या लौटाता है, और किसी स्ट्रिंग या ऑब्जेक्ट पर यह इसके बजाय कैरेक्टर या key की संख्या लौटाता है। साइज़ जाने बिना छोर तक पहुँचने के लिए first और last का इस्तेमाल करें, जैसे ".metadata.tags | last", या नेगेटिव नंबर से अंत से इंडेक्स करें जैसे .[-1], जिसे यह टूल ऐरे की लंबाई के सापेक्ष हल करता है। ये जल्दी जाँच के लिए काम आते हैं, जैसे किसी फ़िल्टर से पहले और बाद रिकॉर्ड्स गिनना यह देखने के लिए कि select ने कितने हटाए, या किसी लॉग-जैसे ऐरे में सबसे हाल की एंट्री पढ़ना। रिज़ल्ट पैनल आउटपुट टाइप और एलिमेंट काउंट के साथ बाइट साइज़ भी बताता है, जो नंबर की एक और पुष्टि देता है। ऊपर अपनी JSON लोड करें और जो काउंट चाहिए उसे पढ़ने के लिए इसे length, first, या last में पाइप करें।

संबंधित टूल

मुफ़्त सुरक्षित पासवर्ड जनरेटर

अनुकूलन योग्य विकल्पों के साथ सुरक्षित, यादृच्छिक पासवर्ड बनाएं। मुफ़्त, तेज़ और पूरी तरह आपके ब्राउज़र में काम करता है, बिना साइन-अप के।

मुफ़्त UUID/GUID जनरेटर

सार्वभौमिक रूप से अद्वितीय पहचानकर्ता (UUID/GUID) बनाएं। मुफ़्त, तेज़ और पूरी तरह आपके ब्राउज़र में काम करता है, बिना साइन-अप के।

मुफ़्त QR कोड जनरेटर ऑनलाइन

URL, टेक्स्ट, WiFi क्रेडेंशियल और बहुत कुछ के लिए QR कोड बनाएं। मुफ़्त, तेज़ और पूरी तरह आपके ब्राउज़र में काम करता है, बिना साइन-अप के।

मुफ़्त JSON फ़ॉर्मेटर और वैलिडेटर

सिंटैक्स हाइलाइटिंग और त्रुटि पहचान के साथ JSON डेटा को फ़ॉर्मेट, सत्यापित और सुंदर बनाएं। मुफ़्त, तेज़ और पूरी तरह आपके ब्राउज़र में काम करता है, बिना साइन-अप के।

JSON क्वेरी टूल के बारे में

JSON क्वेरी टूल एक फ्री, ब्राउज़र-में-चलने वाला प्लेग्राउंड है जो jq जैसे सिंटैक्स का इस्तेमाल करके JSON को काटने, फ़िल्टर करने और नए रूप में ढालने का काम करता है। बाईं ओर एक JSON डॉक्यूमेंट पेस्ट करें, ऊपर मौजूद बार में एक क्वेरी टाइप करें, और मैचिंग रिज़ल्ट दाईं ओर दिखाई देता है, जो टाइप करते ही लाइव अपडेट होता रहता है। यह डेवलपर्स, डेटा इंजीनियर्स, QA टेस्टर्स और उन सभी के लिए बनाया गया है जिन्होंने कभी किसी API रिस्पॉन्स की मोटी JSON दीवार को घूरा है और बस उन तीन फ़ील्ड्स तक पहुँचना चाहा है जो वाकई मायने रखती हैं।

jq JSON प्रोसेस करने के लिए कमांड-लाइन पर सबसे लोकप्रिय टूल है, लेकिन यह हमेशा इंस्टॉल नहीं होता और इसका पूरा सिंटैक्स काफी घना है। यह टूल सबसे आम पैटर्न्स को एक ब्राउज़र टैब में ही दोहराता है — न कोई brew install, न टर्मिनल, न ही शेल में कोट्स को एस्केप करने का झंझट। सब कुछ लोकली JavaScript में चलता है: आपकी JSON आपकी डिवाइस से बाहर कभी नहीं जाती, जो तब बहुत मायने रखता है जब पेलोड कोई प्रोडक्शन रिस्पॉन्स हो, कोई ऑथ टोकन ब्लॉब हो, या कुछ भी ऐसा हो जिसे आप किसी सर्वर पर पेस्ट नहीं करना चाहते।

यह किस क्वेरी लैंग्वेज को सपोर्ट करता है

यह टूल एक फोकस्ड इंटरप्रेटर के साथ आता है जो लगभग 18 ऑपरेशन्स कवर करता है — वे मुट्ठी भर ऑपरेशन जो किसी JSON डॉक्यूमेंट से जुड़े ज़्यादातर रोज़मर्रा के सवालों का जवाब देते हैं:

  • एक्सेस. पूरा डॉक्यूमेंट लौटाता है, .key एक फ़ील्ड पढ़ता है, .a.b नेस्टेड keys तक जाता है, .[] किसी ऐरे या ऑब्जेक्ट की वैल्यूज़ पर इटरेट करता है, .[0] इंडेक्स करता है (नेगेटिव जैसे .[-1] अंत से गिनते हैं), और .[0:3] एक रेंज को स्लाइस करता है।
  • ट्रांसफ़ॉर्म्सlength एलिमेंट्स या कैरेक्टर्स गिनता है, keys किसी ऑब्जेक्ट की keys को (सॉर्टेड) लिस्ट करता है, values उसकी वैल्यूज़ लौटाता है, unique डुप्लीकेट आइटम हटाता है, flatten नेस्टेड ऐरेज़ को समतल करता है, और first / last किसी ऐरे के आखिरी छोर पकड़ते हैं।
  • फ़िल्टर और मैपselect(.role == "admin") मैचिंग आइटम रखता है, map(.age) हर एलिमेंट में से एक फ़ील्ड निकालता है, और sort_by(.age) किसी ऐरे को किसी फ़ील्ड के हिसाब से क्रमबद्ध करता है।

select के अंदर तुलना (comparison) के लिए ==, !=, >, <, >=, और <= सपोर्टेड हैं, जिनमें ऑर्डर वाले ऑपरेटर्स नंबरों पर लागू होते हैं। पाइप | कई चरणों को आपस में जोड़ता है, इसलिए .users | select(.active == true) | map(.name) को बाएँ से दाएँ पढ़ें: पहले users लो, फिर उनमें से सिर्फ़ एक्टिव वालों को रखो, फिर उनमें से सिर्फ़ नाम निकाल लो।

इसे असल में इस्तेमाल कैसे करें

क्वेरी टाइप करते ही हर कीस्ट्रोक पर रिज़ल्ट फिर से चलता है; Enter या Run बटन दबाने पर यह आपकी क्वेरी हिस्ट्री में सेव हो जाती है (आखिरी 20 क्लिक-योग्य चिप्स के रूप में रखी जाती हैं)। प्रीसेट क्वेरी बटन की एक पंक्ति — identity, count users, active users, sort by age, unique roles, और अन्य — एक तेज़ शुरुआत और एक लाइव सिंटैक्स चीट-शीट, दोनों का काम करती है। डिफ़ॉल्ट रूप से एक बिल्ट-इन सैंपल डॉक्यूमेंट लोड रहता है ताकि आप अपना डेटा पेस्ट करने से पहले प्रयोग कर सकें।

रिज़ल्ट पैनल आउटपुट का टाइप और एलिमेंट काउंट बताता है (उदाहरण के लिए array(3) या object(5 keys)), साथ ही आपके इनपुट और रिज़ल्ट, दोनों का बाइट साइज़ भी — यह जल्दी जाँच लेने का एक तरीका है कि किसी फ़िल्टर ने वही ट्रिम किया जो आप चाहते थे। आउटपुट प्रिटी-प्रिंटेड JSON के रूप में मिलता है जिसे आप क्लिपबोर्ड पर कॉपी कर सकते हैं या query-result.json फ़ाइल के रूप में डाउनलोड कर सकते हैं। अगर कोई क्वेरी गलत है या किसी टाइप मिसमैच से टकराती है — जैसे किसी ऐसी चीज़ को स्लाइस करना जो ऐरे नहीं है — तो पैनल चुपचाप फेल होने के बजाय सादी भाषा में एरर दिखाता है।

यह कहाँ काम आता है और क्या उम्मीद करें

आम काम में शामिल है किसी API लिस्ट से एक ही कॉलम निकालना (map(.email)), किसी फ़िल्टर से पहले और बाद रिकॉर्ड्स गिनना, किसी टैग ऐरे में से डुप्लीकेट हटाना, यूज़र डंप में एडमिन अकाउंट्स ढूँढना, या सबसे ऊँचे और सबसे नीचे के वैल्यू देखने के लिए रिज़ल्ट्स को सॉर्ट करना। यह 200 लाइन के रिस्पॉन्स को कुछ ही सेकंड में सीधे जवाब में बदल देता है।

यह जानबूझकर jq का एक सबसेट है, इसका पूरा री-इम्प्लीमेंटेशन नहीं। पूरे jq में सैकड़ों बिल्ट-इन फ़ंक्शन हैं — अरिथमेटिक, स्ट्रिंग इंटरपोलेशन, reduce, group_by, रिकर्सिव डिसेंट, कस्टम फ़ंक्शन्स — और यह सब यहाँ स्कोप से बाहर है। अगर किसी क्वेरी को ऊपर बताए गए ऑपरेशन्स से आगे की सुविधाओं की ज़रूरत है, तो उसे असली jq में कमांड लाइन पर चलाएँ। लेकिन रोज़मर्रा के "बस यह फ़ील्ड चाहिए" वाले काम के लिए, JSON क्वेरी टूल आपको ब्राउज़र छोड़े बिना वहाँ तक पहुँचा देता है।