0
創建模式我有一個類Letter
:Json.NET的字典
public class Letter
{
public string p1 {get; set;}
public string p2 {get; set;}
public List<string> l1 {get; set;}
public List<string> l2 {get; set;}
}
,我有JSON文件:
{
"A":
{
"p1": "",
"p2": "",
"l1": ["", "", ..., ""],
"l2": ["", "", ..., ""]
}
"B": {...}
...
}
現在我反序列化JSON與Json.NET
從NewtonSoft
這樣的:
var alphabet = JsonConvert.DeserializeObject<Dictionary<char, Letter>>(jsonString);
所以我可以參考這樣的值:alphabet["A"]
現在我想檢查,是jsonString
,我想反序列化是有效的。
我發現了一些例子如何從文件中讀取JsonSchema
,或者如何在代碼中生成它。但我找不到,如何爲我的json文件生成shema。
任何人都可以幫助我嗎?
P.S.
現在我這樣做。這是最好的方式嗎?
...
var schemaGenerator = new JSchemaGenerator();
var schemaForLetter = schemaGenerator.Generate(typeof (Letter));
var schema = new JSchema
{
Type = JSchemaType.Object,
Properties =
{
{ "A", schemaForLetter },
{ "B", schemaForLetter },
...
}
}
...
爲什麼不只是'var schema = generator.Generate(typeof(Dictionary))'? –
@AlekseyL。請寫回答這個問題,所以我可以檢查它是正確的答案。 我想如果用戶不僅用字母符號定義他的JSON,它已經更正確,然後第一個結論 – gek0n