सवाल क्या JSON में टिप्पणी का उपयोग किया जा सकता है?


क्या मैं JSON फ़ाइल के अंदर टिप्पणियों का उपयोग कर सकता हूं? यदि हां, तो कैसे?


5797
2017-10-28 20:39


मूल


@StingyJack: ऐसी चीजों को समझाने के लिए जो स्पष्ट नहीं हो सकते हैं, या जो भी कोई टिप्पणी के साथ कर सकता है। मैं अक्सर डेटा फ़ाइलों में टिप्पणियों के लिए टिप्पणी करता हूं। एक्सएमएल, आईएनआई फाइलें, और कई अन्य प्रारूपों में टिप्पणियों के प्रावधान शामिल हैं। - Michael Burr
यदि आप, मेरे जैसे, सोच रहे थे कि क्या //comments एक उत्कृष्ट पाठ कॉन्फ़िगरेशन फ़ाइल के विशिष्ट उपयोग-मामले के लिए ठीक है, उत्तर हाँ है (संस्करण 2 के रूप में)। सब्लिमे टेक्स्ट इसके बारे में शिकायत नहीं करेगा, कम से कम, जबकि यह शिकायत करेगा {"__comment": ...} कंसोल में, क्योंकि यह एक अप्रत्याशित क्षेत्र है। - hangtwenty
और शायद यह एक कारण है कि TOML क्यों बनाया गया था .. - Alex Nolasco
थोड़ा सा नोबिश लेकिन, मैंने JSON में टिप्पणियों के लिए // का उपयोग करने का भी प्रयास किया। अब मुझे एहसास है कि इसका आदान-प्रदान / विनिमय के लिए सख्ती से उपयोग किया जाता है। आह! मैं अब और टिप्पणी नहीं कर सकता :( जीवन बर्बाद हो गया है! - Sid
JSON5 टिप्पणियों का समर्थन करता है: stackoverflow.com/a/7901053/108238 - schoetbi


जवाब:


नहीं।

JSON सभी डेटा होना चाहिए, और यदि आप कोई टिप्पणी शामिल करते हैं, तो यह डेटा भी होगा।

आपके पास नामित डेटा तत्व हो सकता है "_comment" (या कुछ) जिसे JSON डेटा का उपयोग करने वाले ऐप्स द्वारा अनदेखा किया जाएगा।

आप जेएसओएन उत्पन्न / प्राप्त करने वाली प्रक्रियाओं में टिप्पणी करने के लिए शायद बेहतर होंगे, क्योंकि उन्हें पता होना चाहिए कि JSON डेटा पहले से ही होगा, या कम से कम इसकी संरचना।

लेकिन अगर आपने फैसला किया है:

{
   "_comment": "comment text goes here...",
   "glossary": {
      "title": "example glossary",
      "GlossDiv": {
         "title": "S",
         "GlossList": {
            "GlossEntry": {
               "ID": "SGML",
               "SortAs": "SGML",
               "GlossTerm": "Standard Generalized Markup Language",
               "Acronym": "SGML",
               "Abbrev": "ISO 8879:1986",
               "GlossDef": {
                  "para": "A meta-markup language, used to create markup languages such as DocBook.",
                  "GlossSeeAlso": ["GML", "XML"]
               },
               "GlossSee": "markup"
            }
         }
      }
   }
}

4066
2017-10-28 21:01



यदि टिप्पणी के नाम पर वैध फ़ील्ड है तो वास्तविक टिप्पणी पर किसी प्रकार का उपसर्ग होने का भुगतान हो सकता है: "__comment":"comment text goes here...", - Rob Fonseca-Ensor
जेएसओएन में कोई टिप्पणी क्यों नहीं है (या अधिक सटीक रूप से, उन्हें जल्दी क्यों हटा दिया गया था) के लिए एक हालिया स्पष्टीकरण / तर्क। plus.google.com/118095276221607585885/posts/RK8qyGVaGSr और देखें, tech.groups.yahoo.com/group/json/message/156 और उस धागे में अन्य चर्चा। - Michael Burr
बीटीडब्ल्यू, जावा के लिए जेसन लाइब्रेरी गूगल-gson टिप्पणियों के लिए समर्थन है। - centic
अगर मैं एक अलग टिप्पणी चाहता था तो इसके बारे में क्या Accronym तथा Abbrev गुण? मैंने पहले इस पैटर्न का उपयोग किया है लेकिन बंद कर दिया है क्योंकि यह मुझे ऐसा करने की अनुमति नहीं देता है। यह एक हैक है। शायद अगर मैं एक संपत्ति का नाम प्रीपेड करता हूं __comment__ बजाय। वह "__comment__Abbrev" है, अभी भी एक हैक है, लेकिन मुझे सभी प्रस्तुतियों पर टिप्पणी करने देगी - Juan Mendes
आप "//" का भी उपयोग कर सकते हैं: यह अधिक देशी दिखता है और अभी भी उसी माता-पिता में दोहराने योग्य है - smnbbrv


नहीं, फॉर्म की टिप्पणियां //… या /*…*/ JSON में अनुमति नहीं है। यह उत्तर इस पर आधारित है:

  • http://www.json.org
  • आरएफसी 4627: application/json जावास्क्रिप्ट ऑब्जेक्ट नोटेशन के लिए मीडिया प्रकार (जेएसओएन)
  • आरएफसी 715 9 जावास्क्रिप्ट ऑब्जेक्ट नोटेशन (JSON) डेटा इंटरचेंज प्रारूप - Obsoletes: 4627, 7158

1569
2017-11-15 09:32



यदि आप टिप्पणियों के साथ अपने JSON को एनोटेट करना चाहते हैं (इस प्रकार इसे अवैध JSON बनाते हैं), तो इसे पार्सिंग या ट्रांसमिट करने से पहले इसे छोटा करें। क्रॉकफोर्ड ने खुद को विन्यास फाइलों के संदर्भ में 2012 में स्वीकार किया। - toolbear
@alkuzad: जब औपचारिक व्याकरण की बात आती है, तो ऐसा कुछ होना चाहिए जो स्पष्ट रूप से कहता है कि वे कर रहे हैं अनुमति नहीं, दूसरी तरफ नहीं। उदाहरण के लिए, अपनी प्रोग्रामिंग भाषा पसंद करें: सिर्फ इसलिए कि कुछ वांछित (लेकिन गायब) सुविधा स्पष्ट रूप से अस्वीकृत नहीं है, इसका मतलब यह नहीं है कि आपका कंपाइलर जादुई रूप से इसे पहचान लेगा। - stakx
हाँ। जेएसओएन प्रारूप में तत्वों के बीच बहुत सी जगह-जगह है और उन क्षेत्रों में अंतरिक्ष-असंवेदनशील है, इसलिए कोई कारण नहीं है कि आपके पास एकल या बहु-पंक्ति टिप्पणियां क्यों न हो। कई पार्सर्स और मिनीफायर जेएसओएन टिप्पणियों का भी समर्थन करते हैं, इसलिए बस सुनिश्चित करें कि आपका पार्सर उनका समर्थन करता है। JSON का उपयोग एप्लिकेशन डेटा और कॉन्फ़िगरेशन सेटिंग्स के लिए बहुत अधिक किया जाता है, इसलिए टिप्पणियां अब आवश्यक हैं। "आधिकारिक कल्पना" एक अच्छा विचार है, लेकिन यह अपर्याप्त और अप्रचलित है, इतना बुरा है। यदि आप पेलोड आकार या प्रदर्शन के बारे में चिंतित हैं तो अपने JSON को छोटा करें। - Triynko
यद्यपि आपका उत्तर बिल्कुल सही है, यह कहा जाना चाहिए कि यह बीएस है। जेसन कॉन्फ़िगरेशन की आवश्यकता के दौरान आने वाले बहुत से अंतिम उपयोगकर्ताओं के साथ, टिप्पणियां बहुत उपयोगी हैं। सिर्फ इसलिए कि कुछ टिन-फोइल टोपी ने जेएसओएन का फैसला किया है तथा हमेशा होना चाहिए मशीन पठनीय, इस तथ्य को अनदेखा कर रही है कि मनुष्यों को इसे पढ़ने की जरूरत है, इमो जो छोटी दिमागीपन का झगड़ा है। - cmroanirgo
@cmroanirgo: आप जेएसओएन की उस सीमा के बारे में शिकायत करने वाले पहले व्यक्ति नहीं हैं ... यही कारण है कि हमारे पास पार्सर्स हैं जो चुपचाप टिप्पणियों की अनुमति देते हैं, और अन्य प्रारूप जैसे वाईएएमएल और जेएसओएन 5। हालांकि यह इस तथ्य को नहीं बदलेगा कि जेएसओएन यही है। इसके बजाय, मुझे यह दिलचस्प लगता है कि लोगों ने जेएसओएन का उपयोग उन प्रयोजनों के लिए करना शुरू किया जहां प्रश्न में सीमा के बाद यह स्पष्ट रूप से पर्याप्त नहीं था। JSON प्रारूप को दोष न दें; इसका इस्तेमाल करने पर जोर देने के लिए खुद को दोष दें जहां यह विशेष रूप से अच्छा फिट नहीं है। - stakx


यदि आप चुनते हैं तो टिप्पणियां शामिल करें; पार्सिंग या ट्रांसमिट करने से पहले उन्हें एक मिनीफायर के साथ बाहर निकालें।

मैंने अभी जारी किया JSON.minify () जो जेएसओएन के ब्लॉक से टिप्पणियों और सफेद जगहों को स्ट्रिप करता है और इसे वैध JSON बनाता है जिसे पार्स किया जा सकता है। तो, आप इसका उपयोग इस तरह कर सकते हैं:

JSON.parse(JSON.minify(my_str));

जब मैंने इसे जारी किया, तो मुझे इसके बारे में असहमत लोगों से असहमत लोगों का एक बड़ा झटका लगा, इसलिए मैंने फैसला किया कि मैं एक व्यापक ब्लॉग पोस्ट क्यों लिखूंगा जेएसओएन में टिप्पणियां समझ में आती हैं। इसमें JSON के निर्माता से यह उल्लेखनीय टिप्पणी शामिल है:

मान लीजिए कि आप कॉन्फ़िगरेशन फ़ाइलों को रखने के लिए JSON का उपयोग कर रहे हैं, जिसे आप एनोटेट करना चाहते हैं। आगे बढ़ें और अपनी पसंद की सभी टिप्पणियां डालें। फिर इसे अपने JSON पार्सर को सौंपने से पहले JSMin के माध्यम से पाइप करें। - डगलस क्रॉकफोर्ड, 2012

उम्मीद है कि यह उन लोगों के लिए सहायक है जो क्यों असहमत हैं JSON.minify () उपयोगी हो सकता है।


678
2018-06-23 18:20



JSON.minify () के साथ मेरे पास एकमात्र समस्या यह है कि यह वास्तव में वास्तव में धीमी है। इसलिए मैंने अपना खुद का कार्यान्वयन किया जो एक ही काम करता है: gist.github.com/1170297 । कुछ बड़ी परीक्षण फ़ाइलों पर आपके कार्यान्वयन में 74 सेकंड और मेरा 0.06 सेकंड लगते हैं। - WizKid
यह बहुत अच्छा होगा अगर आप JSON.minify () के लिए github repo को सुझाए गए वैकल्पिक एल्गोरिदम सबमिट कर सकते हैं, ताकि इसे सभी समर्थित लैंग्स पर पोर्ट किया जा सके: github.com/getify/json.minify - Kyle Simpson
@MiniGod मैंने कई बार इस विषय पर डॉग के विचारों को सुना है। मैंने उन्हें बहुत पहले अपने ब्लॉग पोस्ट में संबोधित किया था: blog.getify.com/json-comments - Kyle Simpson
@ मार्नन लाइबो-कोसर डेटा स्ट्रीम (या यहां तक ​​कि पैकेट) उपयोग के लिए भी टिप्पणियों के लिए अभी भी वैध उपयोग हैं: निर्माण समय या स्रोत जैसे डायग्नोस्टिक्स मेटाडेटा को शामिल करना एक्सएमएल के साथ आम उपयोग है, और जेएसओएन डेटा के लिए पूरी तरह से समझदार है। टिप्पणियों के खिलाफ तर्क उथले हैं, और किसी भी पाठ्य डेटा प्रारूप को टिप्पणियों के लिए अनुमति दी जानी चाहिए, भले ही अंतर्निहित उद्देश्य के बावजूद (कुछ भी नहीं सुझाव है कि JSON का उपयोग कहीं और नहीं किया जा सकता है, fwiw) - StaxMan
यदि JSON सार्वभौमिक स्वीकृति है (जो मूल रूप से करता है) तो उसके पास सार्वभौमिक आवेदन होना चाहिए। उदाहरण: JSON एक एप्लिकेशन कॉन्फ़िगरेशन फ़ाइल के रूप में कार्य कर सकता है। यह एप्लिकेशन टिप्पणियों की इच्छा रखेगा। - eggmatters


जेएसओएन से डिज़ाइन द्वारा टिप्पणियां हटा दी गईं।

मैंने JSON से टिप्पणियां हटा दी क्योंकि मैंने देखा कि लोग पार्सिंग निर्देशों को पकड़ने के लिए उनका उपयोग कर रहे थे, एक ऐसा अभ्यास जो अंतःक्रियाशीलता को नष्ट कर देता। मुझे पता है कि टिप्पणियों की कमी कुछ लोगों को दुखी करती है, लेकिन यह नहीं होना चाहिए।

मान लीजिए कि आप कॉन्फ़िगरेशन फ़ाइलों को रखने के लिए JSON का उपयोग कर रहे हैं, जिसे आप एनोटेट करना चाहते हैं। आगे बढ़ें और अपनी पसंद की सभी टिप्पणियां डालें। फिर इसे अपने JSON पार्सर को सौंपने से पहले JSMin के माध्यम से पाइप करें।

स्रोत: जी + पर डगलस क्रॉकफोर्ड द्वारा सार्वजनिक बयान


379
2018-06-11 08:52



मैंने सोचा कि जेएसओएन, एक्सएमएल कहने से ज्यादा मानव पठनीय होना चाहिए था? टिप्पणियां पठनीयता के लिए हैं। - intrepidis
वैसे भी, आप शरारती हो सकते हैं और JSON में पार्सिंग निर्देश जोड़ सकते हैं: {"__directives": {"# n #": "DateTime.Now"}, "validdate": "# n #"} ... ऐसा लगता है कि YAML आगे तो रास्ता है ... - intrepidis
व्यक्तिगत राय: टिप्पणियों की अनुमति नहीं है लंगड़ा है। मेरे पास कॉन्फ़िगरेशन फ़ाइलों को डीकोड करने के लिए टिप्पणियों को अनदेखा करते हुए गैर-मानक JSON पार्सर बनाने के अलावा कोई विकल्प नहीं था। - caiosm1005
@ArturCzajka मैं अभी भी इस तथ्य से नापसंद हूं कि JSON टिप्पणियों का समर्थन नहीं करता है, लेकिन मैंने आईएनआई को एक कोशिश दी और मुझे स्वीकार करना होगा कि इसे कॉन्फ़िगरेशन फ़ाइलों के लिए JSON पर उपयोग करने के लिए और अधिक समझदारी होती है। प्रतिक्रिया के लिए धन्यवाद और उम्मीद है कि इस बातचीत को पढ़ने के बाद अधिक लोग अपने दिमाग को बदल देंगे। (एक पार्सर बनाना वैसे भी एक अभ्यास था :) - caiosm1005
ऐसा लगता है कि सभी साइकिलों को प्रशिक्षण पहियों के लिए आवश्यक है क्योंकि कुछ लोग साइकिल चला नहीं सकते हैं। एक महत्वपूर्ण विशेषता को हटा रहा है क्योंकि बेवकूफ लोग इसका दुरुपयोग करते हैं, यह खराब डिजाइन है। एक डेटा प्रारूप को मूर्खतापूर्ण प्रमाण होने पर उपयोगिता को प्राथमिकता देना चाहिए। - Phil Goetz


अस्वीकरण: आपकी वारंटी समाप्त हो गई है

जैसा कि बताया गया है, यह हैक स्पेक के कार्यान्वयन का लाभ उठाता है। सभी JSON पार्सर्स इस तरह के JSON को समझ नहीं पाएंगे। विशेष रूप से स्ट्रीमिंग पार्सर्स चकित होंगे।

यह एक दिलचस्प जिज्ञासा है, लेकिन आप वास्तव में किसी भी चीज़ के लिए इसका उपयोग नहीं करना चाहिए। नीचे मूल जवाब है।


मुझे एक छोटा हैक मिला है जो आपको एक JSON फ़ाइल में टिप्पणियां रखने की अनुमति देता है जो पार्सिंग को प्रभावित नहीं करेगा, या डेटा को किसी भी तरह से प्रदर्शित नहीं करेगा।

ऐसा प्रतीत होता है कि ऑब्जेक्ट को शाब्दिक घोषित करते समय आप एक ही कुंजी के साथ दो मान निर्दिष्ट कर सकते हैं, और अंतिम व्यक्ति को प्राथमिकता मिलती है। मानो या नहीं, यह पता चला है कि JSON पार्सर्स एक ही तरीके से काम करते हैं। तो हम स्रोत JSON में टिप्पणियां बनाने के लिए इसका उपयोग कर सकते हैं जो एक पार्स ऑब्जेक्ट प्रस्तुति में मौजूद नहीं होगा।

({a: 1, a: 2});
// => Object {a: 2}
Object.keys(JSON.parse('{"a": 1, "a": 2}')).length; 
// => 1

यदि हम इस तकनीक को लागू करते हैं, तो आपकी टिप्पणी की गई JSON फ़ाइल इस तरह दिखाई दे सकती है:

{
  "api_host" : "The hostname of your API server. You may also specify the port.",
  "api_host" : "hodorhodor.com",

  "retry_interval" : "The interval in seconds between retrying failed API calls",
  "retry_interval" : 10,

  "auth_token" : "The authentication token. It is available in your developer dashboard under 'Settings'",
  "auth_token" : "5ad0eb93697215bc0d48a7b69aa6fb8b",

  "favorite_numbers": "An array containing my all-time favorite numbers",
  "favorite_numbers": [19, 13, 53]
}

उपरोक्त कोड है वैध JSON। यदि आप इसे पार्स करते हैं, तो आपको इस तरह की वस्तु मिल जाएगी:

{
    "api_host": "hodorhodor.com",
    "retry_interval": 10,
    "auth_token": "5ad0eb93697215bc0d48a7b69aa6fb8b",
    "favorite_numbers": [19,13,53]
}

जिसका अर्थ है कि टिप्पणियों का कोई निशान नहीं है, और उनके पास अजीब दुष्प्रभाव नहीं होंगे।

हैप्पी हैकिंग!


192
2017-08-02 13:46



से विशेष विवरण: किसी ऑब्जेक्ट के भीतर नाम अद्वितीय होना चाहिए। - Quentin
"सभी कार्यान्वयन इसे एक ही संभालते हैं" - साबित करना मुश्किल है। - Quentin
JSON में तत्वों का क्रम गारंटी नहीं है। इसका मतलब है कि "आखिरी" वस्तु बदल सकती है! - sep332
यह स्पष्ट रूप से spec का उल्लंघन करता है (ऊपर टिप्पणी देखें), ऐसा मत करो। ietf.org/rfc/rfc4627.txt?number=4627 - voidlogic
नहीं - अगर पार्सर स्ट्रीमिंग कर रहा है तो क्या होगा? क्या होगा यदि पार्सर इसे एक शब्दकोश में पढ़ता है जहां कुंजी ऑर्डरिंग अनिर्धारित है? आग से इसे मारो। - deanWombourne


जेएसओएन टिप्पणियों का समर्थन नहीं करता है। यह कॉन्फ़िगरेशन फ़ाइलों के लिए भी इस्तेमाल नहीं किया गया था जहां टिप्पणियों की आवश्यकता होगी।

एचजेसन मनुष्यों के लिए एक विन्यास फाइल प्रारूप है। आराम वाक्यविन्यास, कम गलतियों, और अधिक टिप्पणियां।

Hjson intro

देख hjson.org जावास्क्रिप्ट, जावा, पायथन, पीएचपी, जंग, गो, रूबी और सी # पुस्तकालयों के लिए।


123
2018-03-20 15:26



Upvoted। यह स्पष्ट रूप से एक अच्छा बदलाव है जो खुले रूढ़िवादी लोगों को नफरत करना पसंद करेंगे। मुझे उम्मीद है कि आपका कार्यान्वयन आगे ज्ञात हो जाएगा - और शायद मूल से भी अधिक लोकप्रिय हो जाता है;) मुझे उम्मीद है कि कोई भी रूबी के साथ इसे लागू करने के लिए भी मिल जाएगा। @adelphus अच्छी तरह से परिभाषित भाषा आपकी खुद की परिप्रेक्ष्य या राय है। एक रूढ़िवादी "डेवलपर" होने के नाते यदि आप एक हैं तो यह साबित नहीं होता है कि आप बेहतर हैं और आप सीमित जगहों पर खुद को बंद रखने से भी बदतर हो सकते हैं। लोगों को आसानी से भयानक डेवलपर्स के रूप में न्याय न करें। - konsolebox
इसके बारे में क्षमा करें, @ कंसोलबॉक्स। शायद आप पढ़ने के बाद अपने "अच्छी तरह से परिभाषित JSON आपकी राय है" पर पुनर्विचार कर सकते हैं ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf यह एक वास्तविक मानक है और अपने स्वयं के "विशेष" संस्करणों को लागू करने वाले देव विखंडन, भ्रम और बहुत बर्बाद समय की ओर ले जाते हैं। गड़बड़ वेब डेवलपर्स को कोड लिखते समय छोड़ दिया जाता है क्योंकि प्रत्येक ब्राउजर मानकों के थोड़ा अलग संस्करण लागू करता है। JSON भाषा सही नहीं हो सकती है, लेकिन विखंडन खराब है। और हाँ, यह सिर्फ एक राय है और आप असहमत हैं। - adelphus
मैं आपकी गम्प्शन की प्रशंसा करता हूं, लेकिन आप थोड़े से आविष्कार कर रहे हैं YAML। यदि आप बहुत लचीलापन और मानव पठनीयता चाहते हैं, तो वाईएएमएल का उपयोग करें (वास्तव में नहीं: stackoverflow.com/questions/450399/...) या curmudgeony के साथ छड़ी, अभी तक स्पष्ट जेएसओएन। - toolbear
मुझे लगता है कि सबसे उपयोगकर्ता के अनुकूल विन्यास प्रारूप अभी भी आईएनआई है। यह सीधा है और बहुत वाक्यविन्यास भारी नहीं है। यह उपयोगकर्ताओं को कॉन्फ़िगरेशन तालाब में अपने पैर की उंगलियों को डुबोने से कम डराता है। - Matt
जब भी आपको json को कॉन्फ़िगर के रूप में चाहिए (जहां टिप्पणियां कर रहे हैं आवश्यक) - ".json" के बजाय अपनी फ़ाइल ".js" नाम दें .. जेएस निश्चित रूप से किसी वैध जेसन ऑब्जेक्ट को संभाल सकता है और इसके अतिरिक्त कर सकते हैं टिप्पणियों को संभालें .. यही कारण है कि यह "webpack.config.js" है और "webpack.config.json" नहीं है (इसके लिए वेबपैक में भी इसके लिए बहुत अधिक कारण हैं: पी) - jebbie


आप नहीं कर सकते कम से कम यह एक त्वरित नज़र से मेरा अनुभव है json.org

जेएसओएन ने उस पृष्ठ पर इसका वाक्यविन्यास देखा है। टिप्पणियों के बारे में कोई टिप्पणी नहीं है।


95
2017-10-28 20:42





वाईएएमएल का उपयोग करने पर विचार करें। यह JSON का लगभग एक सुपरसेट है (वस्तुतः सभी मान्य JSON वैध YAML है) और यह टिप्पणियों की अनुमति देता है।


86
2017-08-31 02:24



@ g33kz0r सही, इसलिए जेएसओएन के पास-सुपरसैट के रूप में वाईएएमएल का मेरा विवरण। - Marnen Laibow-Koser
@NateS कई लोगों ने पहले ही बताया था कि जवाब नहीं था। मैंने ओपी के लक्ष्य को हासिल करने का एक बेहतर तरीका सुझाया। यह एक जवाब है। - Marnen Laibow-Koser
नकारात्मक पहलू: yaml पुस्तकालय पायथन के साथ नहीं भेजा जाता है। - Bleeding Fingers
@ ब्लडिंगफिंगर्स इसे इंस्टॉल करें ... - Marnen Laibow-Koser
@ मार्नन-लाईबो-कोसर: हाँ, यह जावा और पर्ल के लिए उपलब्ध वाईएएमएल पुस्तकालयों का उपयोग करने में अक्षमता होनी चाहिए और उम्मीद है कि प्रत्येक द्वारा उत्पादित वाईएएमएल बिना किसी त्रुटि के दूसरे द्वारा उपभोग किया जाएगा। वह वाईएएमएल इंटरऑप एक मुद्दा था, लेकिन जेएसओएन इंटरऑप नहीं था, पूरी तरह से ज्ञान की कमी से समझाया गया है। - toolbear


आपको एक लिखना चाहिए JSON स्कीमा बजाय। JSON स्कीमा वर्तमान में एक प्रस्तावित इंटरनेट ड्राफ्ट विनिर्देश है। दस्तावेज़ीकरण के अलावा, स्कीमा का उपयोग आपके JSON डेटा को सत्यापित करने के लिए भी किया जा सकता है।

उदाहरण:

{
    "description":"A person",
    "type":"object",
    "properties":
        {
            "name":
                {
                    "type":"string"
                },
            "age":
                {
                    "type":"integer",
                    "maximum":125
                }
        }
}

आप का उपयोग करके दस्तावेज प्रदान कर सकते हैं विवरण स्कीमा विशेषता।


55
2017-07-28 18:38



JSON स्कीमा जिंदा है? यह अस्तित्व में है लेकिन क्या यह किसी भी ज्ञात पुस्तकालय द्वारा समर्थित है? - Munhitsu
हाँ जेसन-स्कीमा गूगल समूह काफी सक्रिय है और मैं अनुशंसा करता हूं JSV एक JSON स्कीमा सत्यापनकर्ता के एक अच्छा जावास्क्रिप्ट कार्यान्वयन के लिए। - raffel
यह केवल संरचित दस्तावेज के साथ मदद करता है, विज्ञापन दस्तावेज नहीं - Juan Mendes
यदि आप क्लोजर का उपयोग करते हैं (और मुझे यकीन है कि आप नहीं करते हैं) यहां एक उचित रूप से प्रदर्शित ओपन-सोर्स JSON स्कीमा पार्सर है: github.com/bigmlcom/closchema - charleslparker
@Munhitsu Manatee.Json (.Net) बड़े पैमाने पर जेएसओएन स्कीमा का समर्थन करता है। - gregsdennis