Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }