Newtonsoft.Json.Schema 如何不在模式中生成引用 $ref

Newtonsoft.Json.Schema how not generate references $ref in schema

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

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

生成此 Json 模式

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

因为我使用 Json 模式作为人类可读的文档,所以这是不可取的。有什么办法,也许有属性,阻止创建这些“$ref”?

干杯, 格兰特

最新版本的 Newtonsoft.Json.Schema 在 JSchemaGenerator 上有一个 SchemaReferenceHandling 设置用于控制引用。

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