JSON.NET JsonObjectAttribute具有一个属性Id。它是从继承的JsonContainerAttribute。我找不到,因为使用了什么Id属性?
Json.NET Schema使用它"$id"在生成类型的架构时覆盖默认属性值。
例如,如果我有以下类型:
[JsonObject(Id = "http://foo.bar/schemas/rootobject.json")]
public class RootObject { }
Run Code Online (Sandbox Code Playgroud)
JSchemaGenerator并使用以下命令自动生成架构:
var schema = new JSchemaGenerator().Generate(typeof(RootObject)).ToString();
Run Code Online (Sandbox Code Playgroud)
结果是(此处演示小提琴):
{
"$id": "http://foo.bar/schemas/rootobject.json",
"type": "object"
}
Run Code Online (Sandbox Code Playgroud)
当不被覆盖时, 的值"$id"由枚举控制SchemaIdGenerationHandling。
根据JamesNK 的说法,它也被过时的人JsonSchemaGenerator使用:
它被 JsonSchemaGenerator 使用,但已被弃用。