/// <summary> /// Sets json object annotation text with whitespaces. /// </summary> /// <param name="transformedPayload">Transformed payload with json annotations.</param> private void SetWhiteSpaceJsonObjectAnnotations(JsonValue transformedPayload) { JsonEndObjectTextAnnotation jsonEndObjectTextAnnotation = new JsonEndObjectTextAnnotation(); JsonStartObjectTextAnnotation jsonStartObjectTextAnnotation = new JsonStartObjectTextAnnotation(); jsonEndObjectTextAnnotation.Text = "\t\n } \t\n"; jsonStartObjectTextAnnotation.Text = "\t\n { \t\n"; transformedPayload.SetAnnotation <JsonEndObjectTextAnnotation>(jsonEndObjectTextAnnotation); transformedPayload.SetAnnotation <JsonStartObjectTextAnnotation>(jsonStartObjectTextAnnotation); }
/// <summary> /// Writes a text representation of the specified <paramref name="objectValue"/> into a text writer. /// </summary> /// <param name="objectValue">The JSON value to write.</param> private void WriteObject(JsonObject objectValue) { var startObjectTextAnnotation = objectValue.GetAnnotation <JsonStartObjectTextAnnotation>() ?? JsonStartObjectTextAnnotation.GetDefault(this.writer); var endObjectTextAnnotation = objectValue.GetAnnotation <JsonEndObjectTextAnnotation>() ?? JsonEndObjectTextAnnotation.GetDefault(this.writer); this.writer.Write(startObjectTextAnnotation.Text); bool first = true; foreach (JsonProperty propertyValue in objectValue.Properties) { var propertySeparatorTextAnnotation = propertyValue.GetAnnotation <JsonPropertySeparatorTextAnnotation>() ?? JsonPropertySeparatorTextAnnotation.GetDefault(first); first = false; this.writer.Write(propertySeparatorTextAnnotation.Text); this.WriteValue(propertyValue); } this.writer.Write(endObjectTextAnnotation.Text); }