मैं संलग्न JSON डेटा और स्कीमा को सत्यापित करने के लिए वैधता का उपयोग कर रहा हूं। अब तक काम कर रहा है।मनमानी कुंजी के साथ JSON स्कीमा सत्यापन
हालांकि डेटा डिक्शनरी में मनमानी स्ट्रिंग कुंजियां हो सकती हैं ('बीपी' के अलावा अन्य)। यहां स्कीमा में कुंजी 'बीपी' हार्ड-कोडेड है ... यह किसी दिए गए सूची (स्ट्रिंग के enum) से एक स्ट्रिंग हो सकती है। मैं यहां "प्रथम स्तर" के लिए enum परिभाषा कैसे जोड़ूं।
import json
import validictory
data = {'bp': [{'category': 'bp',
'created': '2013-03-08T09:14:48.148000',
'day': '2013-03-11T00:00:00',
'id': 'dc049c0e-d19a-4e3e-93ea-66438a239712',
'unit': 'mmHg',
'value': 147.0,
'value2': 43.0}]}
schema = {
"type":"object",
"properties":{
"bp": {
"type":"array",
"required":False,
"items":
{
"type":"object",
"required":False,
"properties":{
"category": {
"type":"string",
"default": "bp",
"required":False
},
"created": {
"type":"string",
"default": "2013-03-08T09:14:48.148000",
"required":False
},
"day": {
"type":"string",
"default": "2013-03-11T00:00:00",
"required":False
},
"id": {
"type":"string",
"default": "dc049c0e-d19a-4e3e-93ea-66438a239712",
"required":False
},
"unit": {
"type":"string",
"default": "mmHg",
"required":False
},
"value2": {
"type":"number",
"default":43,
"required":False
},
"value": {
"type":"number",
"default":147,
"required":False
}
}
}
}
}
}
validictory.validate(data,schema)
क्या आप हमें दिखा सकते हैं कि समस्या को पुन: उत्पन्न कैसे करें? मुझे अभी कोई नहीं दिख रहा है। – jsalonen
@jsalonen: समस्या यह है कि ओपी इनपुट को मान्य करना चाहता है यदि शीर्ष-स्तरीय कुंजी 'बीपी' से अलग है। मुझे लगता है कि समस्या का विवरण पर्याप्त स्पष्ट है, और JSON-schema अनुभव वाला कोई व्यक्ति मदद करने में सक्षम होना चाहिए। –
आह सही। धन्यवाद। – jsalonen