क्या यह djvi पुस्तकालय आपकी आवश्यकताओं को कवर करता है?
प्रदान की उदाहरण दिखाता है:
var jsonSchema = {"common":{"properties":{"type":{"enum":["common"]}},"required":["type"]}};
var env = new djvi();
env.addSchema('test', jsonSchema);
env.instance('test#/common');
// => { type: 'common' }
मुझे लगता है कि समाधान आप के बाद कर रहे हैं।
अब इस सटीक समाधान आप के बाद कर रहे हैं नहीं है, लेकिन मैं एक ऐसी ही समस्या थी और एक समारोह के रूप में एक माता पिता वस्तु वापस जाने के लिए निम्नलिखित समाधान बनाया है, यह मदद कर सकते हैं:
var dbdict = {
"title": "Entity",
"description": "An entity",
"type":"object",
"properties": {
"geometries": {"type": "array",
"items": {
"$ref" : "geometry"
}
}
}
}
var walkJSONSchema = function (JSONSchema, returnFunction) {
var walkObject = function(PROPS) {
var $this = this,
$child = {}
;
if(returnFunction == true) {
$child = new function() {};
}
//console.log("PROPS");
//console.log(PROPS);
for(var key in PROPS) {
console.log("key:"+key+" type:"+PROPS[key].type+" default:"+PROPS[key].default);
switch(PROPS[key].type) {
case "boolean":
$child[key] = PROPS[key].default || undefined;
break;
case "integer":
case "number":
$child[key] = PROPS[key].default || undefined;
break;
case "array":
$child[key] = [].push($this.walkObject(PROPS[key].properties));
break;
case "object":
$child[key] = $this.walkObject(PROPS[key].properties);
break;
case "string":
$child[key] = PROPS[key].default || undefined;
break;
};
};
return $child;
}
return walkObject(JSONSchema.properties);
}
Entity = walkJSONSchema(dbdict, true);
बेशक
आप कर सकते थे स्कीमा दस्तावेज़ से "इकाई" की पुनर्प्राप्ति स्क्रिप्ट हालांकि आपको पसंद है, लेकिन इस तरह से कम से कम आपको एक फ़ंक्शन मिलता है।
JSON मान्य जावास्क्रिप्ट है, आपको पता है। –
कृपया, कुछ कोड पोस्ट करें। –
स्टैक ओवरफ़्लो में आपका स्वागत है। आप '{}' टूलबार बटन के साथ स्रोत कोड प्रारूपित कर सकते हैं। मैंने इस बार आपके लिए यह किया है। –