मैं JSON में एक टिप्पणी कैसे बनाऊं?


मैं एक कस्टम नीति बना रहा हूं (प्रमाणीकरण के लिए अध्ययन कर रहा हूं) और JSON कोड ब्लॉक के भीतर एक टिप्पणी बनाने का प्रयास कर रहा था।

किसी भी तरह की सहायता की सराहना की जाएगी। धन्यवाद!

शोध करने के बाद मैंने यही प्रयास किया, क्योंकि टिप्पणियों के संबंध में त्रुटि एडब्ल्यूएस के बारे में बहुत कम जानकारी है।

1. यह AWS से उदाहरण के रूप में उपयोग किया जाने वाला कोड ब्लॉक है:
————————————————– ———–

{
   "Version": "2012-10-17",
   "Statement": [
   {
      "Effect": "Allow",
      "Action": "support:*",
      "Resource": "*"
   },
   {
       "Effect": "Deny",
       "Action": "support:ResolveCase",
       "Resource": "*"
    }]
}

2. यह JSON टिप्पणियों वाला संशोधित कोड है (जिसने त्रुटि उत्पन्न की):
————————————————– ———————-

{
    "__comment1__": "Custom policy to specify what actions to allow or deny.",
    "__comment2__": "The following policy statement allows an IAM user to perform",
    "__comment3__": "all actions in AWS Support except resolve a case.",
    "Version": "2012-10-17",
   "Statement": [
   {
      "Effect": "Allow",
      "Action": "support:*",
      "Resource": "*"
   },
   {
       "Effect": "Deny",
       "Action": "support:ResolveCase",
       "Resource": "*"
    }]
}

AWS द्वारा दी गई त्रुटि इस प्रकार है:

Ln 2, Col 20Invalid Policy Element: The policy element __comment1__ is not valid.

मैंने क्या प्रयास किया है:

मैंने FreeCodeCamp के आलेख के अनुसार टिप्पणियाँ जोड़ने का प्रयास किया है, लेकिन तभी AWS ने त्रुटि उत्पन्न कर दी।

JSON टिप्पणी उदाहरण – JSON फ़ाइलों में टिप्पणी कैसे करें[^]

समाधान 2

JSON एक डेटा इंटरचेंज प्रारूप है और टिप्पणियाँ JSON सिंटैक्स का हिस्सा नहीं हैं। JSON पार्सर्स उन पर विचार नहीं करेंगे और केवल डेटा को पार्स करेंगे। इसलिए, टिप्पणियाँ आधिकारिक तौर पर समर्थित नहीं हैं, लेकिन आप एक विकल्प का उपयोग कर सकते हैं जैसे गैर-JSON प्रारूप का उपयोग करें जो टिप्पणियों का समर्थन करता है, जैसे कि YAML, और फिर इसे JSON में परिवर्तित करें।

हालाँकि, आप अभी भी JSON फ़ाइलों में टिप्पणियों का उपयोग कस्टम तत्वों के रूप में कर सकते हैं जैसे:

JSON
{
  "name": "John",
  "age": 30,
  "comments": "This is a sample comment"
}

समाधान 1

JSON में टिप्पणी जैसी कोई चीज़ नहीं है। यह एक डेटा फ़ॉर्मेटिंग विनिर्देश है, कोड नहीं।

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

कुछ पार्सर इसे लोड करने का समर्थन करेंगे, लेकिन ध्यान रखें कि उनमें से प्रत्येक टिप्पणी को डेटा के भाग के रूप में मानेगा। इसे नजरअंदाज नहीं किया जाएगा.

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

समाधान 3

जैसा कि यहां अन्य लोगों ने उल्लेख किया है, यह विशिष्टता का हिस्सा नहीं है। हालाँकि, एक अनुरोध किया गया है कि आप यह देखने के लिए निगरानी कर सकते हैं कि क्या कोई नियोजित समर्थन होगा: [System.Text.Json] संपत्तियों पर टिप्पणियों को क्रमबद्ध करने की क्षमता जोड़ें · अंक #35251 · डॉटनेट/रनटाइम · गिटहब[^].

समाधान 4

उद्धरण:

एलएन 2, कॉलम 20 अमान्य नीति तत्व: नीति तत्व __comment1__ मान्य नहीं है।

यह एक त्रुटि है जो आप जिस भी सेवा पर कॉल कर रहे हैं उससे उत्पन्न हुई है। यह इंगित करता है कि वे एक विशिष्ट को लागू कर रहे हैं JSON स्कीमा[^]जिसका अर्थ है कि आप दस्तावेज़ में नए अज्ञात तत्व नहीं जोड़ सकते।

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

コメント

タイトルとURLをコピーしました