繁体   English   中英

使用JSON.Net从动态(或实际JSON数据)获取JSON模式

[英]Get JSON Schema from dynamic (or actually JSON data) using JSON.Net

我正在尝试使用Newtonsoft JSON.Net从JSON实体获取JSON模式。

这按预期工作:

dynamic customObject = new
{
    Title = "Test"
};
var schemaGenerator = new JsonSchemaGenerator { };
var schema = schemaGenerator.Generate(customObject.GetType());

这很好。 模式的.Properties属性显示带有详细信息的'Title'属性。

但是,我的模式源是一段JSON数据 因此,我首先将其序列化为dynamic

string json = JsonConvert.SerializeObject(customObject);
dynamic customObjectAfterSerialize = JsonConvert.DeserializeObject<dynamic>(json);

JsonSchemaGenerator schemaGenerator = new JsonSchemaGenerator { };
JsonSchema schemaAfterSerialize = schemaGenerator.Generate(customObjectAfterSerialize.GetType());

但是现在JSON模式对象的.Properties属性为null

如何从任意 JSON数据中获取JSON模式

在第一个示例中,dynamic是对匿名类型对象的引用。

在第二个示例中,dynamic是未键入的。

无法从无类型的对象生成模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM