Exemplo n.º 1
0
        public string Serialize <T>(T value)
        {
            if (Options == JsonFormatterOptions.Default)
            {
                var serializer = new JsonDefaultSerializer(MaxDepth);

                ValueInterface <T> .Content.WriteValue(serializer, value);

                return(serializer.ToString());
            }
            else
            {
                var serializer = new JsonSerializer(Options, MaxDepth);

                if ((Options & JsonFormatterOptions.Indented) != 0)
                {
                    serializer.indentedChars = IndentedChars;
                    serializer.lineBreak     = LineBreak;
                    serializer.middleChars   = MiddleChars;
                }

                ValueInterface <T> .Content.WriteValue(serializer, value);

                return(serializer.ToString());
            }
        }
Exemplo n.º 2
0
        public void Serialize <T>(T value, TextWriter textWriter)
        {
            if (Options == JsonFormatterOptions.Default)
            {
                var serializer = new JsonDefaultSerializer(MaxDepth);

                ValueInterface <T> .Content.WriteValue(serializer, value);

                serializer.WriteTo(textWriter);
            }
            else
            {
                var serializer = new JsonSerializer(Options, MaxDepth);

                if ((Options & JsonFormatterOptions.Indented) != 0)
                {
                    serializer.indentedChars = IndentedChars;
                    serializer.lineBreak     = LineBreak;
                    serializer.middleChars   = MiddleChars;
                }

                ValueInterface <T> .Content.WriteValue(serializer, value);

                serializer.WriteTo(textWriter);
            }
        }
Exemplo n.º 3
0
        public static string SerializeObject <T>(T value)
        {
            var serializer = new JsonDefaultSerializer(DefaultMaxDepth);

            ValueInterface <T> .Content.WriteValue(serializer, value);

            return(serializer.ToString());
        }
Exemplo n.º 4
0
        public static void SerializeObject <T>(T value, TextWriter textWriter)
        {
            var serializer = new JsonDefaultSerializer(DefaultMaxDepth);

            ValueInterface <T> .Content.WriteValue(serializer, value);

            serializer.WriteTo(textWriter);
        }
Exemplo n.º 5
0
        public static void SerializeObject <T>(T value, TextWriter textWriter, JsonFormatterOptions options)
        {
            if ((options & ReferenceOptions) != 0)
            {
                var jsonSerializer = new JsonReferenceSerializer(options);

                jsonSerializer.textWriter = textWriter;

                if ((options & JsonFormatterOptions.Indented) != 0)
                {
                    jsonSerializer.indentedChars = DefaultIndentedChars;
                    jsonSerializer.lineBreak     = DefaultLineBreak;
                    jsonSerializer.middleChars   = DefaultMiddleChars;
                }

                ValueInterface <T> .Content.WriteValue(jsonSerializer, value);

                jsonSerializer.WriteTo(textWriter);

                return;
            }

            if ((options & JsonFormatterOptions.PriorCheckReferences) != 0)
            {
                options ^= JsonFormatterOptions.PriorCheckReferences;
            }

            if (options == JsonFormatterOptions.Default)
            {
                var jsonSerializer = new JsonDefaultSerializer(DefaultMaxDepth);

                jsonSerializer.textWriter = textWriter;

                ValueInterface <T> .Content.WriteValue(jsonSerializer, value);

                jsonSerializer.WriteTo(textWriter);
            }
            else
            {
                var jsonSerializer = new JsonSerializer(options, DefaultMaxDepth);

                jsonSerializer.textWriter = textWriter;

                if ((options & JsonFormatterOptions.Indented) != 0)
                {
                    jsonSerializer.indentedChars = DefaultIndentedChars;
                    jsonSerializer.lineBreak     = DefaultLineBreak;
                    jsonSerializer.middleChars   = DefaultMiddleChars;
                }

                ValueInterface <T> .Content.WriteValue(jsonSerializer, value);

                jsonSerializer.WriteTo(textWriter);
            }
        }
        public static string SerializeObject <T>(T value)
        {
            using (var jsonSerializer = new JsonDefaultSerializer(DefaultMaxDepth))
            {
                ValueInterface <T> .WriteValue(jsonSerializer, value);

                return(new string(
                           jsonSerializer.hGlobal.GetPointer(),
                           0,
                           jsonSerializer.StringLength));
            }
        }
        public static void SerializeObject <T>(T value, TextWriter textWriter)
        {
            using (var jsonSerializer = new JsonDefaultSerializer(DefaultMaxDepth)
            {
                textWriter = textWriter
            })
            {
                ValueInterface <T> .WriteValue(jsonSerializer, value);

                VersionDifferences.WriteChars(
                    textWriter,
                    jsonSerializer.hGlobal.GetPointer(),
                    jsonSerializer.StringLength);
            }
        }
Exemplo n.º 8
0
        public static async Task SerializeObjectAsync <T>(T value, TextWriter textWriter)
        {
            using (var jsonSerializer = new JsonDefaultSerializer(DefaultMaxDepth)
            {
                textWriter = textWriter
            })
            {
                ValueInterface <T> .WriteValue(jsonSerializer, value);

                await VersionDifferences.WriteCharsAsync(
                    textWriter,
                    jsonSerializer.hGlobal.Address,
                    jsonSerializer.StringLength);
            }
        }
Exemplo n.º 9
0
        public void Serialize <T>(T value, TextWriter textWriter)
        {
            var options = Options;
            var id      = Id;

            if ((options & ReferenceOptions) != 0)
            {
                var jsonSerializer = new JsonReferenceSerializer(options);

                if (id != 0)
                {
                    jsonSerializer.id = id;
                }

                jsonSerializer.textWriter = textWriter;

                if ((options & JsonFormatterOptions.Indented) != 0)
                {
                    jsonSerializer.indentedChars = IndentedChars;
                    jsonSerializer.lineBreak     = LineBreak;
                    jsonSerializer.middleChars   = MiddleChars;
                }

                ValueInterface <T> .Content.WriteValue(jsonSerializer, value);

                jsonSerializer.WriteTo(textWriter);

                return;
            }

            if ((options & JsonFormatterOptions.PriorCheckReferences) != 0)
            {
                options ^= JsonFormatterOptions.PriorCheckReferences;
            }

            if (options == JsonFormatterOptions.Default)
            {
                var jsonSerializer = new JsonDefaultSerializer(MaxDepth);

                if (id != 0)
                {
                    jsonSerializer.id = id;
                }

                jsonSerializer.textWriter = textWriter;

                ValueInterface <T> .Content.WriteValue(jsonSerializer, value);

                jsonSerializer.WriteTo(textWriter);
            }
            else
            {
                var jsonSerializer = new JsonSerializer(options, MaxDepth);

                if (id != 0)
                {
                    jsonSerializer.id = id;
                }

                jsonSerializer.textWriter = textWriter;

                if ((options & JsonFormatterOptions.Indented) != 0)
                {
                    jsonSerializer.indentedChars = IndentedChars;
                    jsonSerializer.lineBreak     = LineBreak;
                    jsonSerializer.middleChars   = MiddleChars;
                }

                ValueInterface <T> .Content.WriteValue(jsonSerializer, value);

                jsonSerializer.WriteTo(textWriter);
            }
        }