/// <summary> /// Sets json array annotation text with whitespaces. /// </summary> /// <param name="transformedPayload">Transformed payload with json annotations.</param> private void SetWhiteSpaceJsonArrayAnnotations(JsonValue transformedPayload) { JsonArrayElementSeparatorTextAnnotation jsonArrayElementSeparatorTextAnnotation = new JsonArrayElementSeparatorTextAnnotation(); JsonEndArrayTextAnnotation jsonEndArrayTextAnnotation = new JsonEndArrayTextAnnotation(); JsonStartArrayTextAnnotation jsonStartArrayTextAnnotation = new JsonStartArrayTextAnnotation(); jsonArrayElementSeparatorTextAnnotation.Text = "\t\n , \t\n"; jsonEndArrayTextAnnotation.Text = "\t\n ] \t\n"; jsonStartArrayTextAnnotation.Text = "\t\n [ \t\n"; transformedPayload.SetAnnotation <JsonArrayElementSeparatorTextAnnotation>(jsonArrayElementSeparatorTextAnnotation); transformedPayload.SetAnnotation <JsonEndArrayTextAnnotation>(jsonEndArrayTextAnnotation); transformedPayload.SetAnnotation <JsonStartArrayTextAnnotation>(jsonStartArrayTextAnnotation); }
/// <summary> /// Writes a text representation of the specified <paramref name="arrayValue"/> into a text writer. /// </summary> /// <param name="arrayValue">The JSON value to write.</param> private void WriteArray(JsonArray arrayValue) { var startArrayTextAnnotation = arrayValue.GetAnnotation <JsonStartArrayTextAnnotation>() ?? JsonStartArrayTextAnnotation.GetDefault(this.writer); var endArrayTextAnnotation = arrayValue.GetAnnotation <JsonEndArrayTextAnnotation>() ?? JsonEndArrayTextAnnotation.GetDefault(this.writer); this.writer.Write(startArrayTextAnnotation.Text); bool first = true; foreach (JsonValue element in arrayValue.Elements) { var arrayElementSeparatorTextAnnotation = element.GetAnnotation <JsonArrayElementSeparatorTextAnnotation>() ?? JsonArrayElementSeparatorTextAnnotation.GetDefault(first); first = false; this.writer.Write(arrayElementSeparatorTextAnnotation.Text); this.WriteValue(element); } this.writer.Write(endArrayTextAnnotation.Text); }