我有一個JSON Schema和一個類庫。 我可以序列化這個類,然後成功轉換回對象。 爲了測試它,我創建了一個隨機對象,將其序列化。 然後轉換爲對象並檢查其有效性。 並反序列化它只是爲了確保值。如何確保類庫完美地表示Json Schema
下面的代碼完美的作品 - 但 我想是絕對肯定的類庫表示JSON模式。
有沒有辦法做到這一點?我發現一些在線工具試圖從給定的模式創建類庫,但沒有一個是如此有用。
// Create random object.
MyObject myObject = new MyObject().CreateRandomMyObject();
// Serialize it.
string JSONObjectText = JsonConvert.SerializeObject(myObject);
// Check if schema is valid.
JSchema schema = JSchema.Parse(txtSchema.Value);
// Check if the serialized object is valid for schema.
JObject jsonObject = JObject.Parse(JSONObjectText);
IList<string> errorMessages;
bool valid = jsonObject.IsValid(schema, out errorMessages);
// Check if the serialized object can be deserialized.
MyObject myObjectReDeserialized = (MyObject)JsonConvert.DeserializeObject(JSONObjectText, typeof(MyObject), new JsonSerializerSettings() { MissingMemberHandling = MissingMemberHandling.Error });
您可以複製你的字符串JSON和過去,它在C#類。 – SeM
@SeM我不明白。是的,我可以將字符串轉換爲對象。我想要的是確保「JsonSchema = Class Library」。 –