System.Runtime.Serialization.Json.XmlJsonWriter.SetOutput C# (CSharp) Method

SetOutput() public method

public SetOutput ( Stream stream, Encoding encoding, bool ownsStream ) : void
stream Stream
encoding System.Text.Encoding
ownsStream bool
return void
        public void SetOutput(Stream stream, Encoding encoding, bool ownsStream)
        {
            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }
            if (encoding == null)
            {
                throw new ArgumentNullException(nameof(encoding));
            }
            if (encoding.WebName != Encoding.UTF8.WebName)
            {
                stream = new JsonEncodingStreamWrapper(stream, encoding, false);
            }
            else
            {
                encoding = null;
            }
            if (_nodeWriter == null)
            {
                _nodeWriter = new JsonNodeWriter();
            }

            _nodeWriter.SetOutput(stream, ownsStream, encoding);
            InitializeWriter();
        }

Usage Example

 static XElement AddSampleJson(XElement content, string title, string label)
 {
     StringBuilder sample = new StringBuilder();
     using (MemoryStream stream = new MemoryStream())
     {
         using (XmlJsonWriter writer = new XmlJsonWriter())
         {
             writer.SetOutput(stream, Encoding.Unicode, false);
             content.WriteTo(writer);
         }
         stream.Position = 0;
         sample.Append(new StreamReader(stream, Encoding.Unicode).ReadToEnd());
     }
     int depth = 0;
     bool inString = false;
     for (int i = 0; i < sample.Length; ++i)
     {
         if (sample[i] == '"')
         {
             inString = !inString;
         }
         else if (sample[i] == '{')
         {
             sample.Insert(i + 1, "\n" + new String('\t', ++depth));
             i += depth + 1;
         }
         else if (sample[i] == ',' && !inString)
         {
             sample.Insert(i + 1, "\n" + new String('\t', depth));
         }
         else if (sample[i] == '}' && depth > 0)
         {
             sample.Insert(i, "\n" + new String('\t', --depth));
             i += depth + 1;
         }
     }
     return AddSample(sample.ToString(), title, label);
 }
All Usage Examples Of System.Runtime.Serialization.Json.XmlJsonWriter::SetOutput