JSON.NET JsonObjectAttribute has a property Id. It's inherited from the JsonContainerAttribute. I cannot find, for what is the Id property is used?
It's used by Json.NET Schema to override the default "$id" property value when generating a schema for a type.
E.g. if I have the following type:
[JsonObject(Id = "http://foo.bar/schemas/rootobject.json")]
public class RootObject { }
And auto-generate a schema using JSchemaGenerator as follows:
var schema = new JSchemaGenerator().Generate(typeof(RootObject)).ToString();
The result is (demo fiddle here):
{
"$id": "http://foo.bar/schemas/rootobject.json",
"type": "object"
}
When not overridden, the value of "$id" is controlled by the SchemaIdGenerationHandling enumeration.
It was also used by the obsolete JsonSchemaGenerator according to JamesNK:
It was used by JsonSchemaGenerator but that is deprecated.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With