Esempio n. 1
0
        public string Render(
            string title,
            EventBean theEvent)
        {
            var @event = (JsonEventObject)theEvent.Underlying;

            using var stream  = new MemoryStream();
            using var writer  = new Utf8JsonWriter(stream);
            using var context = new JsonSerializationContext(writer);

            writer.WriteStartObject();
            writer.WritePropertyName(title);

            try {
                @event.WriteTo(context);
            }
            catch (IOException e) {
                throw new EPException("Failed to write json: " + e.Message, e);
            }

            writer.WriteEndObject();
            writer.Flush();

            return(Encoding.UTF8.GetString(stream.ToArray()));
        }
Esempio n. 2
0
        public static void AssertJsonWrite(
            JToken expectedValue,
            EventBean eventBean)
        {
            var expectedMinimalJson = expectedValue.ToString(Formatting.None);
            var expectedPrettyJson  = expectedValue.ToString(Formatting.Indented);

            var optionsMinimal = new JsonWriterOptions();
            var optionsIndent  = new JsonWriterOptions()
            {
                Indented = true
            };

            var und = (JsonEventObject)eventBean.Underlying;

            Assert.AreEqual(expectedMinimalJson, und.ToString(optionsMinimal));
            Assert.AreEqual(expectedPrettyJson, und.ToString(optionsIndent));

            var stream  = new MemoryStream();
            var writer  = new Utf8JsonWriter(stream, optionsMinimal);
            var context = new JsonSerializationContext(writer);

            und.WriteTo(context);

            Assert.AreEqual(expectedMinimalJson, Encoding.UTF8.GetString(stream.ToArray()));
        }
 void IJsonAdapter <ClassWithAdapters> .Serialize(JsonSerializationContext <ClassWithAdapters> context, ClassWithAdapters value)
 {
     using (context.Writer.WriteObjectScope())
     {
         context.Writer.WriteKey("Decorated");
         context.ContinueVisitation();
     }
 }
 void IJsonAdapter <DirectoryInfo> .Serialize(JsonSerializationContext <DirectoryInfo> context, DirectoryInfo value)
 {
     if (null == value)
     {
         context.Writer.WriteNull();
     }
     else
     {
         context.Writer.WriteValue(value.GetRelativePath());
     }
 }
Esempio n. 5
0
        public void RealSerializerFailsWithNonRealTypes()
        {
            var serializer = new JsonSerializer();
            var sw = new StringWriter();
            var context = new JsonSerializationContext(serializer, new JsonWriter(sw));
            var intSerializer = new JsonRealSerializer<int>();

            try {
                intSerializer.Serialize(0, context);
                Assert.Fail("Did not throw the expected exception");
            } catch (NotSupportedException) { }
        }
Esempio n. 6
0
        public string Render(EventBean theEvent)
        {
            var underlying = theEvent.Underlying;

            if (underlying is JsonEventObject jsonEventObject)
            {
                return(jsonEventObject.ToString(default(JsonWriterOptions)));
            }

            var eventType = (JsonEventType)theEvent.EventType;

            using var stream  = new MemoryStream();
            using var writer  = new Utf8JsonWriter(stream);
            using var context = new JsonSerializationContext(writer);

            eventType.Serializer.Serialize(context, underlying);

            writer.Flush();

            return(Encoding.UTF8.GetString(stream.ToArray()));
        }
Esempio n. 7
0
            public void Serialize(JsonSerializationContext <T[, ]> context, T[,] value)
            {
                if (null == value)
                {
                    context.Writer.WriteNull();
                    return;
                }

                using (context.Writer.WriteArrayScope())
                {
                    for (var x = 0; x < value.GetLength(0); x++)
                    {
                        using (context.Writer.WriteArrayScope())
                        {
                            for (var y = 0; y < value.GetLength(1); y++)
                            {
                                context.SerializeValue(value[x, y]);
                            }
                        }
                    }
                }
            }
 void IJsonAdapter <UnityEditor.GUID> .Serialize(JsonSerializationContext <UnityEditor.GUID> context, UnityEditor.GUID value)
 => context.Writer.WriteValue(value.ToString());
Esempio n. 9
0
 void IJsonAdapter <string> .Serialize(JsonSerializationContext <string> context, string value) => context.Writer.WriteValue(value);
Esempio n. 10
0
 void IJsonAdapter <char> .Serialize(JsonSerializationContext <char> context, char value) => context.Writer.WriteValue(value);
Esempio n. 11
0
 void IJsonAdapter <bool> .Serialize(JsonSerializationContext <bool> context, bool value) => context.Writer.WriteValueLiteral(value ? "true" : "false");
Esempio n. 12
0
 void IJsonAdapter <double> .Serialize(JsonSerializationContext <double> context, double value) => context.Writer.WriteValue(value);
Esempio n. 13
0
 public void Serialize(JsonSerializationContext <Cat> context, Cat value)
 {
     context.Writer.WriteValue("a cat");
 }
 public void Serialize(JsonSerializationContext <Foo> context, Foo value)
 {
     context.Writer.WriteValue(JsonSerialization.ToJson(value).Replace('"', '\"').Replace("\n", "").Replace(" ", ""));
 }
 void IJsonAdapter <TimeSpan> .Serialize(JsonSerializationContext <TimeSpan> context, TimeSpan value)
 => context.Writer.WriteValue(value.ToString("c", CultureInfo.InvariantCulture));
 void IJsonAdapter <Guid> .Serialize(JsonSerializationContext <Guid> context, Guid value)
 => context.Writer.WriteValue(value.ToString("N", CultureInfo.InvariantCulture));
 void IJsonAdapter <UnityEditor.GlobalObjectId> .Serialize(JsonSerializationContext <UnityEditor.GlobalObjectId> context, UnityEditor.GlobalObjectId value)
 => context.Writer.WriteValue(value.ToString());
Esempio n. 18
0
 public void Serialize(
     JsonSerializationContext context,
     object value)
 {
     ProcSerialize.Invoke(context, value);
 }
 void IJsonAdapter <ClassWithAdapters> .Serialize(JsonSerializationContext <ClassWithAdapters> context, ClassWithAdapters value)
 {
     context.Writer.WriteValue(-value.A);
 }
 public void Serialize(JsonSerializationContext <DummyClass> context, DummyClass value)
 {
 }
 void IJsonAdapter <DateTime> .Serialize(JsonSerializationContext <DateTime> context, DateTime value)
 => context.Writer.WriteValue(value.ToString("o", CultureInfo.InvariantCulture));
Esempio n. 22
0
 void IJsonAdapter <short> .Serialize(JsonSerializationContext <short> context, short value) => context.Writer.WriteValue(value);
 void IJsonAdapter <Version> .Serialize(JsonSerializationContext <Version> context, Version value)
 => context.Writer.WriteValue(value.ToString());
Esempio n. 24
0
 void IJsonAdapter <byte> .Serialize(JsonSerializationContext <byte> context, byte value) => context.Writer.WriteValue(value);
Esempio n. 25
0
 void IJsonAdapter <uint> .Serialize(JsonSerializationContext <uint> context, uint value) => context.Writer.WriteValue(value);
Esempio n. 26
0
 void IJsonAdapter <float> .Serialize(JsonSerializationContext <float> context, float value) => context.Writer.WriteValue(value);
 public void Serialize(JsonSerializationContext <TypeWithAdapters> context, TypeWithAdapters value)
 {
     throw new NotImplementedException();
 }
Esempio n. 28
0
 public JsonSerializer(JsonSerializationContext context)
 {
     Context = context;
 }