使用 C# 反序列化 json 架构



我正在开发自己的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; }

相关内容

  • 没有找到相关文章

最新更新