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




comments (24)

आह। क्यों न केवल फ़ील्ड जोड़ें, उदाहरण के लिए

{
    "note1" : "This demonstrates the provision of annotations within a JSON file",
    "field1" : 12,
    "field2" : "some text",

    "note2" : "Add more annotations as necessary"
}

बस सुनिश्चित करें कि आपके "नोटेक्स" नाम किसी भी वास्तविक फ़ील्ड के साथ संघर्ष नहीं करते हैं।

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


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


JSON कॉन्फ़िगरेशन फ़ाइलों और अन्य स्थानीय उपयोग के लिए बहुत अधिक समझ में आता है क्योंकि यह सर्वव्यापी है और क्योंकि यह XML से बहुत आसान है।

यदि डेटा संचार (चाहे वैध या नहीं) संचार करते समय JSON में टिप्पणियां करने के खिलाफ लोगों के पास मजबूत कारण हैं, तो संभावित रूप से JSON को दो में विभाजित किया जा सकता है:

  • जेएसओएन-कॉम: जेएसओएन तार पर जेएसओएन, या जेएसओएन डेटा संचार करते समय लागू नियम।
  • JSON-DOC: JSON दस्तावेज़, या JSON फ़ाइलों या स्थानीय रूप से। नियम जो वैध JSON दस्तावेज़ को परिभाषित करते हैं।

जेएसओएन-डीओसी टिप्पणियों की अनुमति देगा, और अन्य मामूली मतभेद मौजूद हो सकते हैं जैसे व्हाइटस्पेस को संभालना। पार्सर्स आसानी से एक स्पेक से दूसरे में परिवर्तित कर सकते हैं।

इस मुद्दे पर डगलस क्रॉकफ़ोर्ड द्वारा की गई plus.google.com/118095276221607585885/posts/RK8qyGVaGSr संबंध में (@Artur Czajka द्वारा संदर्भित)

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

हम एक सामान्य कॉन्फ़िगरेशन फ़ाइल समस्या (क्रॉस भाषा / प्लेटफॉर्म) के बारे में बात कर रहे हैं, और वह जेएस विशिष्ट उपयोगिता के साथ जवाब दे रहा है!

निश्चित रूप से किसी भी भाषा में एक JSON विशिष्ट minify लागू किया जा सकता है, लेकिन इसे मानकीकृत करें ताकि यह सभी भाषाओं और प्लेटफार्मों में पार्सर्स में सर्वव्यापी हो जाए, इसलिए लोग इस सुविधा की कमी के समय बर्बाद कर देते हैं क्योंकि उनके पास अच्छे उपयोग-मामले हैं, इस मुद्दे को देखते हुए ऑनलाइन मंच, और लोगों को यह बताते हुए कि यह एक बुरा विचार है या सुझाव है कि पाठ फ़ाइलों से अलग टिप्पणियों को लागू करना आसान है।

दूसरा मुद्दा अंतःक्रियाशीलता है। मान लीजिए कि आपके पास लाइब्रेरी या एपीआई है या किसी भी प्रकार का उपप्रणाली है जिसमें इसके साथ जुड़े कुछ कॉन्फ़िगरेशन या डेटा फाइलें हैं। और इस उपप्रणाली को विभिन्न भाषाओं से एक्सेस किया जाना है। तो क्या आप लोगों को बताने के बारे में जाते हैं: जिस तरह से उन्हें पार्सर में पास करने से पहले जेएसओएन फाइलों से टिप्पणियां तोड़ना न भूलें!


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

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

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

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

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

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


भागों में JSON आइटम को काटने के लिए मैं "डमी टिप्पणी" पंक्तियां जोड़ता हूं:

{

"#############################" : "Part1",

"data1"             : "value1",
"data2"             : "value2",

"#############################" : "Part2",

"data4"             : "value3",
"data3"             : "value4"

}

जेएसओएन के लेखक चाहते हैं कि हम JSON में टिप्पणियां शामिल करें, लेकिन उन्हें पार्स करने से पहले उन्हें बाहर निकालें ( माइकल बुर द्वारा प्रदान किए गए plus.google.com/118095276221607585885/posts/RK8qyGVaGSr देखें )। अगर जेएसओएन के पास टिप्पणियां होनी चाहिए, तो उन्हें मानकीकृत क्यों न करें, और जेएसओएन पार्सर नौकरी करें? मैं वहां तर्क से सहमत नहीं हूं, लेकिन, हां, यह मानक है। दूसरों द्वारा सुझाए गए वाईएएमएल समाधान का उपयोग करना अच्छा है, लेकिन इसके लिए लाइब्रेरी निर्भरता की आवश्यकता होती है।

यदि आप टिप्पणियां बंद करना चाहते हैं, लेकिन लाइब्रेरी निर्भरता नहीं चाहते हैं, तो यहां दो-लाइन समाधान है, जो सी ++ - स्टाइल टिप्पणियों के लिए काम करता है, लेकिन इसे दूसरों के लिए अनुकूलित किया जा सकता है:

var comments = new RegExp("//.*", 'mg');
data = JSON.parse(fs.readFileSync(sample_file, 'utf8').replace(comments, ''));

ध्यान दें कि इस समाधान का केवल उन मामलों में उपयोग किया जा सकता है जहां आप यह सुनिश्चित कर सकते हैं कि JSON डेटा में टिप्पणी आरंभकर्ता नहीं है, उदाहरण के लिए ('//')।

JSON पार्सिंग, टिप्पणियों को अलग करने और कोई अतिरिक्त लाइब्रेरी प्राप्त करने का एक और तरीका जावास्क्रिप्ट दुभाषिया में JSON का मूल्यांकन करना है। निश्चित रूप से उस दृष्टिकोण के साथ चेतावनी यह है कि आप केवल अनचाहे डेटा का मूल्यांकन करना चाहते हैं (कोई अविश्वसनीय उपयोगकर्ता-इनपुट नहीं)। यहां नोड.जेएस में इस दृष्टिकोण का एक उदाहरण दिया गया है - एक और चेतावनी, निम्नलिखित उदाहरण केवल एक बार डेटा पढ़ेगा और फिर इसे कैश किया जाएगा:

data = require(fs.realpathSync(doctree_fp));

जेएसओएन टिप्पणियों को मूल रूप से समर्थन नहीं देता है, लेकिन आप टिप्पणियों को तोड़ने के लिए अपना खुद का डिकोडर या कम से कम प्रीप्रोसेसर बना सकते हैं, यह बिल्कुल ठीक है (जब तक आप केवल टिप्पणियों को अनदेखा करते हैं और उनका उपयोग नहीं करते हैं कि आपके एप्लिकेशन को JSON डेटा को कैसे संसाधित करना चाहिए )।

JSON की टिप्पणियां नहीं हैं। एक JSON एन्कोडर टिप्पणियों को आउटपुट नहीं करना चाहिए। एक JSON डिकोडर मई स्वीकार और अनदेखा कर सकता है।

टिप्पणियों का अर्थ कभी भी सार्थक संचारित करने के लिए नहीं किया जाना चाहिए। जेएसओएन के लिए यही है।

सीएफ: जेएसओएन स्पेक के लेखक डगलस क्रॉकफोर्ड


आप JSONP में टिप्पणी कर सकते हैं , लेकिन शुद्ध JSON में नहीं। मैंने अपने कार्यक्रम को हाईचार्ट्स से इस उदाहरण के साथ काम करने का प्रयास करने में एक घंटा बिताया है: http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?JSONPhttp://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?

यदि आप लिंक का पालन करते हैं, तो आप देखेंगे

?(/* AAPL historical OHLC data from the Google Finance API */
[
/* May 2006 */
[1147651200000,67.79],
[1147737600000,64.98],
...
[1368057600000,456.77],
[1368144000000,452.97]
]);

चूंकि मेरे पास मेरे स्थानीय फ़ोल्डर में एक समान फ़ाइल थी, वही मूल नीति के साथ कोई समस्या नहीं थी , इसलिए मैंने शुद्ध JSON का उपयोग करने का निर्णय लिया ... और, ज़ाहिर है, $.getJSONटिप्पणियों के कारण चुपचाप विफल रहा था।

आखिर में मैंने उपरोक्त पते पर मैन्युअल HTTP अनुरोध भेजा और महसूस किया कि सामग्री-प्रकार तब text/javascriptसे था , जेएसओएनपी शुद्ध जावास्क्रिप्ट लौटाता है। इस मामले में टिप्पणियों की अनुमति है । लेकिन मेरे आवेदन ने सामग्री-प्रकार वापस कर दिया application/json, इसलिए मुझे टिप्पणियां हटाना पड़ा।


यह आपके JSON लाइब्रेरी पर निर्भर करता है। Json.NET जावास्क्रिप्ट-शैली टिप्पणियों का समर्थन करता है /* commment */,।

एक और स्टैक ओवरफ़्लो प्रश्न देखें ।


हम strip-json-commentsअपने प्रोजेक्ट के लिए उपयोग कर रहे हैं । यह कुछ इस तरह का समर्थन करता है:

/*
 * Description 
*/
{
    // rainbows
    "unicorn": /* ❤ */ "cake"
}

बस npm install --save strip-json-commentsइसे स्थापित करने और इसका उपयोग करने के लिए:

var strip_json_comments = require('strip-json-comments')
var json = '{/*rainbows*/"unicorn":"cake"}';
JSON.parse(strip_json_comments(json));
//=> {unicorn: 'cake'}

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

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

यह एक "आप कर सकते हैं" सवाल है। और यहां एक "हां" जवाब है।

नहीं, आपको एक साइड चैनल डेटा को जेएसओएन एन्कोडिंग में डुप्लिकेटिव ऑब्जेक्ट सदस्यों का उपयोग नहीं करना चाहिए। ( आरएफसी में "ऑब्जेक्ट के भीतर नाम अद्वितीय होना चाहिए" देखें )।

और हाँ, आप जेएसओएन के आसपास टिप्पणियां डाल सकते हैं , जिसे आप पार्स कर सकते हैं।

लेकिन यदि आप एक वैध JSON को मनमाने ढंग से साइड-चैनल डेटा डालने और निकालने का तरीका चाहते हैं, तो यहां एक उत्तर है। हम JSON एन्कोडिंग में डेटा के गैर-अद्वितीय प्रतिनिधित्व का लाभ उठाते हैं। यह अनुमति दी है * तहत आरएफसी की धारा दो में "खाली स्थान के पहले या छह संरचनात्मक वर्णों के किसी भी के बाद अनुमति दी है"।

* आरएफसी केवल "छः संरचनात्मक पात्रों में से पहले या बाद में व्हाइटस्पेस की अनुमति है", स्पष्ट रूप से तारों, संख्याओं, "झूठी", "सत्य" और "शून्य" का उल्लेख नहीं करते हैं। सभी कार्यान्वयन में इस चूक को नजरअंदाज कर दिया गया है।

सबसे पहले, इसे छोटा करके अपने JSON को कैननिकलाइज़ करें:

$jsonMin = json_encode(json_decode($json));

फिर बाइनरी में अपनी टिप्पणी एन्कोड करें:

$hex = unpack('H*', $comment);
$commentBinary = base_convert($hex[1], 16, 2);

फिर अपनी बाइनरी चुराओ:

$steg = str_replace('0', ' ', $commentBinary);
$steg = str_replace('1', "\t", $steg);

आपका आउटपुट यहां है:

$jsonWithComment = $steg . $jsonMin;

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

जैसा कि बताया गया है, यह हैक स्पेक के कार्यान्वयन का लाभ उठाता है। सभी 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]
}

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

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


मैं बस विन्यास फाइलों के लिए इसका सामना कर रहा हूँ। मैं एक्सएमएल (वर्बोज़, ग्राफिकल, बदसूरत, पढ़ने में कठोर), या "आईएनआई" प्रारूप (कोई पदानुक्रम, कोई असली मानक इत्यादि) या जावा "गुण" प्रारूप (जैसे .ini) का उपयोग नहीं करना चाहता हूं।

जेएसओएन वह सब कुछ कर सकता है जो वे कर सकते हैं, लेकिन यह कम वर्बोज़ और अधिक मानव पठनीय है - और कई भाषाओं में पार्सर्स आसान और सर्वव्यापी हैं। यह सिर्फ डेटा का पेड़ है। लेकिन ऑफ-ऑफ-बैंड टिप्पणियां अक्सर "डिफ़ॉल्ट" कॉन्फ़िगरेशन और इसी तरह के दस्तावेज़ को एक आवश्यकता होती हैं। कॉन्फ़िगरेशन कभी भी "पूर्ण दस्तावेज" नहीं होते हैं, लेकिन सहेजे गए डेटा के पेड़ जो आवश्यक होने पर मानव पठनीय हो सकते हैं।

मुझे लगता है कि कोई "वैध" JSON के लिए " "#": "comment" उपयोग कर सकता है।


Google Firebase दस्तावेज़ में मुझे यह मिला है जो आपको JSON में टिप्पणियां करने की अनुमति देता है:

{
  "//": "Some browsers will use this to enable push notifications.",
  "//": "It is the same for all projects, this is not your project's sender ID",
  "gcm_sender_id": "1234567890"
}

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

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

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


नहीं।

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"
            }
         }
      }
   }
}

यदि आप JSON5 उपयोग JSON5 तो आप टिप्पणियां शामिल कर सकते हैं।

जेएसओएन 5 जेएसओएन के लिए एक प्रस्तावित विस्तार है जिसका उद्देश्य मनुष्यों के हाथों से लिखना और बनाए रखना आसान बनाना है। यह ईसीएमएस्क्रिप्ट 5 से सीधे कुछ न्यूनतम वाक्यविन्यास सुविधाओं को जोड़कर करता है।


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

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


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

उदाहरण:

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

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


यदि आप ASP.NET के साथ Newtonsoft.Json लाइब्रेरी का उपयोग / deserialize करने के लिए उपयोग कर रहे हैं तो आप जेएसओएन सामग्री में टिप्पणियों का उपयोग कर सकते हैं:

// "नाम": "स्ट्रिंग"

//"मैंने नहीं किया

या

/* यह है एक

टिप्पणी उदाहरण * /

पीएस: सिंगल-लाइन टिप्पणियां केवल न्यूटॉन्सॉफ्ट जेसन के 6+ संस्करणों के साथ समर्थित हैं।

उन लोगों के लिए अतिरिक्त नोट जो बॉक्स से बाहर नहीं सोच सकते हैं: मैंने किए गए एएसपी.नेट वेब एप्लिकेशन में मूल सेटिंग्स के लिए JSON प्रारूप का उपयोग किया है। मैंने फ़ाइल पढ़ी है, इसे न्यूटॉन्सॉफ्ट लाइब्रेरी के साथ सेटिंग ऑब्जेक्ट में कनवर्ट करें और जब आवश्यक हो तो इसका इस्तेमाल करें।

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

मुझे लगता है कि यह एक अलग 'सेटिंग्स .README' फ़ाइल बनाने और इसमें सेटिंग्स को समझाते हुए 'उपयोग करने में आसान / समझने' तरीका है।

अगर आपको इस तरह के उपयोग में कोई समस्या है; क्षमा करें, जीनी दीपक से बाहर है। लोगों को जेएसओएन प्रारूप के लिए अन्य उपयोग मिलेंगे, और इसके बारे में आप कुछ भी नहीं कर सकते हैं।


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

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

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

स्रोत: plus.google.com/118095276221607585885/posts/RK8qyGVaGSr


टिप्पणियाँ एक आधिकारिक मानक नहीं हैं। हालांकि कुछ पार्सर्स सी-स्टाइल टिप्पणियों का समर्थन करते हैं। एक जो मैं उपयोग करता हूं वह JsonCpp । उदाहरणों में यह एक है:

// Configuration options
{
    // Default encoding for text
    "encoding" : "UTF-8",

    // Plug-ins loaded at start-up
    "plug-ins" : [
        "python",
        "c++",
        "ruby"
        ],

    // Tab indent size
    "indent" : { "length" : 3, "use_space": true }
}

jsonlint यह मान्य नहीं करता है। तो टिप्पणियां एक पार्सर विशिष्ट एक्सटेंशन हैं और मानक नहीं हैं।

एक और पार्सर JSON5

JSON TOML एक विकल्प।


जेएसओएन के पीछे विचार अनुप्रयोगों के बीच सरल डेटा एक्सचेंज प्रदान करना है। ये आम तौर पर वेब आधारित होते हैं और भाषा जावास्क्रिप्ट होती है।

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

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

अधिक जानकारी के लिए JSON वेबसाइट पर एक नज़र डालें।





comments