I tried following the pattern in JsonSchema repository for keyword changes, and also fixed anything that was causing build breaks:
Json.More does not provide JsonNode.Copy any more -- replaced it with native JsonNode.DeepClone
JsonNull was replaced by .net's null
JsonPointer does not have .Segments property any more and itself is an enumerable of segments
Use WeaklyTypedJsonConverter for all keywords, following the pattern in JsonSchema.Net
Lazily initialize Draft4MetaSchema as keywords need to be registered before its initialization
I am not entirely sure why NullableKeywordJsonConverter change was required, but without that it was serializing nullable as "nullable": "nullable": true
Update dependencies to use newest JsonSchema.Net
I tried following the pattern in JsonSchema repository for keyword changes, and also fixed anything that was causing build breaks:
JsonNull
was replaced by .net'snull
JsonPointer
does not have.Segments
property any more and itself is an enumerable of segmentsWeaklyTypedJsonConverter
for all keywords, following the pattern in JsonSchema.NetDraft4MetaSchema
as keywords need to be registered before its initializationNullableKeywordJsonConverter
change was required, but without that it was serializing nullable as"nullable": "nullable": true