【发布时间】:2015-11-19 14:21:19
【问题描述】:
我正在尝试使用 Newtonsoft JSON.Net 从 JSON 实体获取 JSON 架构。
这按预期工作:
dynamic customObject = new
{
Title = "Test"
};
var schemaGenerator = new JsonSchemaGenerator { };
var schema = schemaGenerator.Generate(customObject.GetType());
这很好用。架构的 .Properties 属性显示带有详细信息的“标题”属性。
不过,我的架构来源是一段 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 架构?
【问题讨论】:
-
在第一次调用 Generate 时传递的是真正的动态对象,但在第二次调用中传递的是 JObject。不知道如何修复它,但这可能会帮助您找到修复方法。
标签: c# json dynamic json.net jsonschema