JSON Pointer क्या है?
JSON Pointer (RFC 6901) /items/0/id जैसी स्ट्रिंग है जो कीज़ और ऐरे इंडेक्स से होकर JSON दस्तावेज़ की ठीक एक वैल्यू को नाम देती है। JSON Patch (RFC 6902) संपादन बताने के लिए और JSON Schema $ref व एरर लोकेशन में पॉइंटर इस्तेमाल करता है।
JSON Pointer टेस्टर कैसे इस्तेमाल करें
- JSON डॉक्यूमेंट पेस्ट करें।
- कोई पॉइंटर दर्ज करें, जैसे /users/0/roles/1 (पूरे डॉक्यूमेंट के लिए खाली छोड़ दें)।
- हल की गई वैल्यू पढ़ें और दूसरे पॉइंटर चुनने के लिए सभी पॉइंटर की तालिका देखें।
JSON Pointer टेस्टर की खूबियाँ
- RFC 6901 पॉइंटर हल करता है, ~0 / ~1 एस्केप और URI-फ़्रैगमेंट रूप (#/a/b) सहित
- ठीक-ठीक बताता है कि कौन-सा टोकन विफल हुआ और कौन-सी कीज़ वाकई मौजूद हैं
- रेफ़रेंस टोकन और समकक्ष JSONPath दिखाता है
- डॉक्यूमेंट के हर पॉइंटर को टाइप और झलक के साथ सूचीबद्ध करता है
- लाइव मूल्यांकन
JSON Pointer टेस्टर का उदाहरण
एस्केप की गई की वाला पॉइंटर हल करना
इनपुट:
Pointer: /users/0/a~1b
Document: {"users":[{"a/b":"slash key"}]}आउटपुट:
"slash key"JSON Pointer टेस्टर के बारे में अक्सर पूछे जाने वाले सवाल
JSON Pointer, JSONPath से कैसे अलग है?
पॉइंटर (RFC 6901) ठीक एक ही जगह का पता देता है, जैसे /users/0/name, और इसका इस्तेमाल JSON Patch, JSON Schema $ref तथा OpenAPI में होता है। JSONPath एक क्वेरी भाषा है जो कई मैच लौटा सकती है।
"/" या "~" वाली की का संदर्भ कैसे दूँ?
"~" को ~0 और "/" को ~1 के रूप में एस्केप करें। उदाहरण के लिए की "a/b" बनती है /a~1b और "m~n" बनती है /m~0n।
खाली पॉइंटर "" का क्या मतलब है?
वह पूरे डॉक्यूमेंट को दर्शाता है। सिर्फ़ "/" वाला पॉइंटर उस प्रॉपर्टी को दर्शाता है जिसका नाम खाली स्ट्रिंग है।
क्या मैं URI फ़्रैगमेंट रूप इस्तेमाल कर सकता हूँ?
हाँ। #/definitions/User जैसे पॉइंटर स्वीकार किए जाते हैं; फ़्रैगमेंट में percent-encoded कैरेक्टर अपने आप डिकोड हो जाते हैं।
संदर्भ
- RFC 6901: JavaScript Object Notation (JSON) PointerJSON दस्तावेज़ के अंदर किसी एक वैल्यू को संबोधित करने का "/a/b/0" सिंटैक्स, "/" और "~" के एस्केप सहित।
- RFC 6902: JavaScript Object Notation (JSON) PatchJSON दस्तावेज़ में बदलाव बताने के लिए add / remove / replace / move / copy / test ऑपरेशन।