我正在开发自己的JSON-to-POCO框架。我这样做的方式是,我创建了一个 Json 模式的类,如下所示:
public class JsonSchema
{
public string type { get; set; }
public string title { get; set; }
public string description { get; set; }
public Dictionary<string, JsonSchema> properties { get; set; }
public JsonSchema items { get; set; }
public string id { get; set; }
public List<string> required { get; set; }
public bool ispartial = true;
}
并反序列化架构以拥有我的对象,以便我可以完美地使用它。
现在一切正常,我正在获得生成的 C# 文件。但前提是我不在我的 json 中添加 $ref
s。(因为在 json 中添加引用而不是复制粘贴我想要支持的类的代码要少得多)
我需要做的是,将$ref
添加到我的类中。 这里的问题是,我无法添加这样的属性
public string $ref { get; set; }
到我的代码。
知道我能做什么吗?
问题还在于,您无法使用默认设置反序列化$id和$ref。这是通过阅读这篇不错的文章来解决的:JsonConvert.DeserializeObject<>(字符串)返回$id属性的空值
您可以将 [JsonProperty] 属性添加到要更改名称的属性中。
[JsonProperty("$ref")]
public string reference { get; set; }