我正在评估来自NewtonSoft的Json.Net.Schema和来自GitHub的NJsonSchema,我无法弄清楚如何从JSON对象创建JSON模式。我希望它的工作方式与此网站完全相同:http://jsonschema.net/#/
我在寻找什么
string json = @"{""Name"": ""Bill"",""Age"": 51,""IsTall"": true}";
var jsonSchemaRepresentation = GetSchemaFromJsonObject(json);
我希望jsonSchemaRepresentation变量中有一个有效的JSON模式。有谁知道我怎么能做到这一点?
提前致谢!
答案 0 :(得分:1)
实际上你提到的两个库 都不支持这样的功能。
如果你自己实现它,那么你将不得不递归地解析你的JSON,iterate over it和add a new schema,具体取决于你刚刚迭代的类型。
还有一些其他工具(在其他语言中,如python)可能是一个灵感,this可能会让你开始。
答案 1 :(得分:1)
NJsonSchema supports this feature的当前版本:
SampleJsonSchemaGenerator从示例JSON数据生成JSON模式。
var schema = JsonSchema4.FromSampleJson("..."); var schemaJson = schema.ToJson();
...或创建一个
SampleJsonSchemaGenerator
实例并调用Generate("...")
方法。
答案 2 :(得分:0)
您提交给该函数的字符串格式不正确。试试这个(添加' {'到字符串的开头,'}'到最后):
string json = @"{
""Name"": ""Bill"",
""Age"": 51,
""IsTall"": true
}";
var jsonSchemaRepresentation = GetSchemaFromJsonObject(json);