Newtonsoft.Json.Schema如何在模式

时间:2015-09-15 03:16:47

标签: json.net jsonschema

Json.Net.Schema正在为我的所有字符串数组生成引用。例如这个c#

public string[] ovoImageUrl;    
public string[] ovoMetaprofile;

生成此Json架构

"ovoImageUrl": {
  "type": [
    "array",
    "null"
  ],
  "items": {
    "type": [
      "string",
      "null"
    ]
  }
},
"ovoMetaprofile": {
  "$ref": "#/properties/ovoImageUrl"
},

由于我使用Json Schema作为人类可读文档,因此这是不可取的。有没有办法,也许有属性,阻止这些“$ ref”被创建?

干杯, 格兰特

1 个答案:

答案 0 :(得分:2)

最新版本的Newtonsoft.Json.Schema在SchemaReferenceHandling上设置JSchemaGenerator用于控制参考。

JSchemaGenerator generator = new JSchemaGenerator();
generator.SchemaReferenceHandling = SchemaReferenceHandling.None;
JSchema schema = generator.Generate(typeof(Person));

http://www.newtonsoft.com/jsonschema/help/html/P_Newtonsoft_Json_Schema_Generation_JSchemaGenerator_SchemaReferenceHandling.htm