public static string SerializeChanges(List <Change> changes) { using (var context = SerializingContext.Create(null, null)) { var writer = context.Writer; writer.WriteStartArray(); foreach (var change in changes) { writer.WriteStartObject(); writer.WritePropertyName("op"); writer.WriteValue(change.Type.ToString().ToLowerInvariant()); writer.WritePropertyName("path"); writer.WriteValue(change.Path); switch (change.Type) { case ChangeType.Add: case ChangeType.Replace: writer.WritePropertyName("value"); writer.WriteRawValue(change.Serialized); break; } writer.WriteEndObject(); } writer.WriteEndArray(); return(context.StringWriter.ToString()); } }
public string Serialize(object obj, Filter filter) { using (var context = SerializingContext.Create(_serializer, filter)) { SerializeMemberValue(obj, context); return(context.StringWriter.ToString()); } }