से संबंधित कुछ प्रश्न मैं जेसन के लिए नोब हूं। मेरे रीस्टफुल एपीआई के परिणाम (जैसे जेएसओएन) के प्रारूप को परिभाषित करते समय, मुझे लगा कि इसे अपने JSON schema के रूप में दस्तावेज करना आसान होगा। एक लिखते समय मेरे पास कुछ प्रश्न थे:कस्टम जेसन स्कीमा
- मेरे परिणाम में JSON, मैं teh स्कीमा के लिए यूआरआई कैसे निर्दिष्ट करूं? --edit-- क्या यह
$schema
विशेषता का उपयोग कर रहा है? - क्या JSON स्कीमा संस्करण के लिए कोई सम्मेलन/दिशानिर्देश हैं? क्या कुछ विशेषताएं हैं जिन्हें मुझे अपनी स्कीमा के अंदर विशेषताओं के रूप में परिभाषित/परिभाषित किया जाना चाहिए? मैं JSON schema itself को
$schema
के मान के रूप में निर्दिष्ट यूआरआई को छोड़कर कोई संस्करण परिभाषित नहीं किया गया है। - क्या मैं अपने एक बड़े JSON स्कीमा को कई छोटे में विभाजित कर सकता हूं और एक दूसरे में शामिल कर सकता हूं? सी ++ में # शामिल करें, फिर जेएसओएन में कई स्कीमा देखें जो मैंने परिणामस्वरूप उपयोगकर्ता को भेजा था।
- क्या मैं कुंजी "प्रकार" के लिए कस्टम मान परिभाषित कर सकता हूं? जैसे मैं इस तरह "तिथि" की परिभाषा का पुन: उपयोग करना चाहते हैं:
के बजाय गुण प्रदान करने के [इस लाइन पर ध्यान न दें, यह json निम्नलिखित के लिए काम स्वरूपण प्राप्त करने के लिए है ..]
{
"date":{
"type":"object",
"properties":{
"month":{
"type":"integer",
"minimum":1,
"maximum":12
},
"year":{
"type":"integer",
"minimum":0
}
}
},
"personInfo":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"dateOfBirth":{
"type":"date"
}
}
},
"student":{
"type":"object",
"properties":{
"id":{
"type":"personInfo"
},
"pass_out_year":{
"type":"date"
}
}
}
}
" तारीख "इस तरह कई स्थानों में:
{
"personInfo":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"dateOfBirth":{
"type":"object",
"properties":{
"month":{
"type":"integer",
"minimum":1,
"maximum":12
},
"year":{
"type":"integer",
"minimum":0
}
}
}
}
},
"student":{
"type":"object",
"properties":{
"id":{
"type":"personInfo"
},
"pass_out_year":{
"type":"object",
"properties":{
"month":{
"type":"integer",
"minimum":1,
"maximum":12
},
"year":{
"type":"integer",
"minimum":0
}
}
}
}
}
}
5,1 प्रकार in the spec के अनुसार, यह संभव नहीं है, लेकिन यह इस तरह के एक बुनियादी USECASE की तरह लगता है! क्या हो सकता है कम से कम कार्यान्वयन की सत्यापनकर्ताओं चर्चा करने के लिए
अन्य प्रकार मूल्यों, कस्टम उद्देश्यों के लिए इस्तेमाल किया जा सकता है ...
यह तो पर चला जाता है:
बहुत ज्यादा काम की तरह लगता है, इसलिए मैं यह काम नहीं चलेगा। लेकिन हां, एक व्यवहार्य विकल्प, विशेष रूप से आज के तकनीक-एनवी में मुझे यकीन है कि यह किसी भी भाषा/env में ऐसा करने के लिए टूल ढूंढना है। धन्यवाद। – Kashyap
JSON स्कीमा के v4 में ऐसा अब और अनुमति नहीं है: http://json-schema.org/latest/json-schema-validation.html#anchor79 – Mitar