public static JsonSerializer GetSerializer()
        {
            //snake case parsing
            var snakeCaseContractResolver = new SnakeCaseContractResolver();

#pragma warning disable 618
#if !PORTABLE
            snakeCaseContractResolver.DefaultMembersSearchFlags |= BindingFlags.NonPublic;
#endif
#pragma warning restore 618

            var ser = new JsonSerializer {
                ContractResolver = snakeCaseContractResolver
            };

            ser.Converters.Add(new SnakeCaseEnumConverter {
                AllowIntegerValues = true, CamelCaseText = false
            });
            ser.Converters.Add(new UnixTimeConverter());

            ser.Converters.Add(new NumberConverter <int>(a => int.Parse(a)));
            ser.Converters.Add(new NumberConverter <long>(a => long.Parse(a)));
            ser.Converters.Add(new NumberConverter <uint>(a => uint.Parse(a)));
            ser.Converters.Add(new NumberConverter <ulong>(a => ulong.Parse(a)));
            ser.Converters.Add(new NumberConverter <short>(a => short.Parse(a)));
            ser.Converters.Add(new NumberConverter <ushort>(a => ushort.Parse(a)));
            ser.Converters.Add(new NumberConverter <byte>(a => byte.Parse(a)));
            ser.Converters.Add(new NumberConverter <sbyte>(a => sbyte.Parse(a)));


            ser.Error += (sender, args) => {
                var ec = args.ErrorContext;
#if !DEBUG
                ec.Handled = true;//never fall on release
#endif
            };

            return(ser);
        }
 public void ResolvesCorrectly()
 {
     Assert.AreEqual(SnakeCaseContractResolver.GetSnakeCase("ID"), "id");
     Assert.AreEqual(SnakeCaseContractResolver.GetSnakeCase("ResourceID"), "resource_id");
 }
Beispiel #3
0
 public void TearDown()
 {
     _contractResolver = null;
 }
Beispiel #4
0
 public void SetUp()
 {
     _contractResolver = new SnakeCaseContractResolver();
 }