首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Swagger模型生成C#类,如何用Json.net处理$ref?

从Swagger模型生成C#类,如何用Json.net处理$ref?
EN

Stack Overflow用户
提问于 2014-07-16 06:14:05
回答 2查看 5.7K关注 0票数 0

我正在从Swagger公开的模型生成C#类。现在,我使用提供的petstore示例

http://petstore.swagger.wordnik.com/api/api-docs/pet

此url中的Json包含以下内容:

代码语言:javascript
复制
"category": {
    "$ref": "Category"
},

我试着用Json.net阅读这篇文章

代码语言:javascript
复制
[JsonProperty("$ref")]
public string Ref { get; set; }

我的目的是借助Json.net实例化Swagger对象模型,然后使用它来生成swagger描述的模型。

它不起作用,并且保持此属性的对象保持为null,没有进一步的异常(还会尝试设置IsReference = true)。它可以在没有$ref的情况下工作。

干净利落地处理这个问题的最佳实践是什么?

EN

回答 2

Stack Overflow用户

发布于 2014-07-16 06:39:31

$ref不打算直接反序列化为属性值。在本例中,它表示应该引用JSON中其他地方定义的名为"Category“的对象。

有关在JSON.NET中对$ref的具体处理,请参阅http://james.newtonking.com/json/help/index.html?topic=html/PreserveObjectReferences.htm上关于PreserveReferencesHandling的部分

票数 3
EN

Stack Overflow用户

发布于 2015-10-12 20:38:28

我在处理Json.NET中的JSON Schema引用时遇到了完全相同的问题。

这就是为什么我编写了自己的JSON Schema解析器、验证器和生成器:NJsonSchema。基于这个库,我实现了能够正确处理模式引用的Swagger工具:NSwag

也许这些库或工具中的一个可以帮助您解决问题……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24769065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档