/// <summary> /// Converts current not to JSON according to the avro specification. /// </summary> /// <param name="writer">The writer.</param> /// <param name="seenSchemas">The seen schemas.</param> internal override void ToJsonSafe(JsonTextWriter writer, HashSet<NamedSchema> seenSchemas) { if (seenSchemas.Contains(this)) { writer.WriteValue(this.FullName); return; } seenSchemas.Add(this); writer.WriteStartObject(); writer.WriteProperty("type", "fixed"); writer.WriteProperty("name", this.FullName); writer.WriteOptionalProperty("aliases", this.Aliases); writer.WriteProperty("size", this.Size); writer.WriteEndObject(); }
/// <summary> /// Converts current not to json according to the avro specification. /// </summary> /// <param name="writer">The writer.</param> /// <param name="seenSchemas">The seen schemas.</param> internal override void ToJsonSafe(JsonTextWriter writer, HashSet<NamedSchema> seenSchemas) { if (seenSchemas.Contains(this)) { writer.WriteValue(this.FullName); return; } seenSchemas.Add(this); writer.WriteStartObject(); writer.WriteProperty("type", "record"); writer.WriteProperty("name", this.FullName); writer.WriteOptionalProperty("doc", this.Doc); writer.WriteOptionalProperty("aliases", this.Aliases); writer.WritePropertyName("fields"); writer.WriteStartArray(); this.fields.ForEach(_ => _.ToJson(writer, seenSchemas)); writer.WriteEndArray(); writer.WriteEndObject(); }
/// <summary> /// Converts current not to JSON according to the avro specification. /// </summary> /// <param name="writer">The writer.</param> /// <param name="seenSchemas">The seen schemas.</param> internal override void ToJsonSafe(JsonTextWriter writer, HashSet<NamedSchema> seenSchemas) { if (seenSchemas.Contains(this)) { writer.WriteValue(this.FullName); return; } seenSchemas.Add(this); writer.WriteStartObject(); writer.WriteProperty("type", "enum"); writer.WriteProperty("name", this.FullName); writer.WriteOptionalProperty("doc", this.Doc); writer.WritePropertyName("symbols"); writer.WriteStartArray(); this.symbols.ForEach(writer.WriteValue); writer.WriteEndArray(); writer.WriteEndObject(); }
/// <summary> /// Converts current not to JSON according to the avro specification. /// </summary> /// <param name="writer">The writer.</param> /// <param name="seenSchemas">The seen schemas.</param> internal override void ToJsonSafe(JsonTextWriter writer, HashSet<NamedSchema> seenSchemas) { writer.WriteStartObject(); writer.WriteProperty("name", this.FullName); writer.WriteOptionalProperty("doc", this.Doc); writer.WriteOptionalProperty("aliases", this.Aliases); writer.WritePropertyName("type"); this.TypeSchema.ToJson(writer, seenSchemas); writer.WriteEndObject(); }