示例#1
0
 /// <summary>
 /// Serializes the provided <see cref="Interval"/>.
 /// </summary>
 /// <param name="value">The <see cref="Interval"/> to to serialize.</param>
 /// <returns>The serialized representation.</returns>
 public string Serialize(Interval value)
 {
     return(string.Format(
                "{0}{1}{2}",
                _instantSerializer.Serialize(value.Start),
                Iso8601TimeIntervalSeparator,
                _instantSerializer.Serialize(value.End)
                ));
 }
        /// <summary>
        /// Serializes the provided <see cref="Interval"/>.
        /// </summary>
        /// <param name="value">The <see cref="Interval"/> to to serialize.</param>
        /// <returns>The serialized representation.</returns>
        public string Serialize(Interval value)
        {
            var complexIntervalDto = new ComplexRawIntervalDto
            {
                Start = _instantSerializer.Serialize(value.Start),
                End   = _instantSerializer.Serialize(value.End)
            };

            return(JsonSerializer.SerializeToString(complexIntervalDto));
        }
 private static void ConfigureNullableSerializer <T>(this IServiceStackSerializer <T> serializer) where T : struct
 {
     //ServiceStack.Text will never use the serialize / deserialize fn if the value is null
     //or the text is null or empty.
     if (serializer.UseRawSerializer)
     {
         JsConfig <T?> .RawSerializeFn = arg => serializer.Serialize(arg.Value);
         JsConfigWrapper <T?> .SetRawDeserializerMember(s => serializer.Deserialize(s));
     }
     else
     {
         JsConfig <T?> .SerializeFn = arg => serializer.Serialize(arg.Value);
         JsConfigWrapper <T?> .SetDeserializerMember(s => serializer.Deserialize(s));
     }
 }
        public void Serialize()
        {
            var    dateTimeZone = DateTimeZoneProviders.Tzdb["America/Los_Angeles"];
            var    json         = serializer.Serialize(dateTimeZone);
            string expectedJson = "America/Los_Angeles";

            Assert.Equal(expectedJson, json);
        }
示例#5
0
        private static void AssertConversions <T>(T value, string expectedJson, IServiceStackSerializer <T> serializer)
        {
            var actualJson = serializer.Serialize(value);

            Assert.Equal(expectedJson, actualJson);

            var deserializedValue = serializer.Deserialize(expectedJson);

            Assert.Equal(value, deserializedValue);
        }
        public static void ConfigureSerializer(IServiceStackSerializer <LocalDate> serializer)
        {
            JsConfig <LocalDate> .SerializeFn = args =>
            {
                var serialized = serializer.Serialize(args);
                return(serialized);
            };
            JsConfig <LocalDate> .DeSerializeFn = args =>
            {
                var deserialized = serializer.Deserialize(args);
                return(deserialized);
            };

            JsConfig <LocalDate?> .SerializeFn = arg =>
            {
                var serializedValue = serializer.Serialize(arg.Value);
                return(serializedValue);
            };
            JsConfig <LocalDate?> .DeSerializeFn = s =>
            {
                var deserializedValue = serializer.Deserialize(s);
                return(deserializedValue);
            };
        }