コード例 #1
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestIntPrimitiveType()
        {
            var reader = ThunderReader.Load("{\n\n}");
            var abc    = EasyJsonSerializer.Deserialize <AccessTokenModel>(reader);
            var test   = EasyJsonSerializer.Serialize(new AccessTokenModel());
            var target = 0;

            Console.WriteLine("target:" + target.ToString());
            var text = EasyJsonSerializer.Serialize(target);

            target = EasyJsonSerializer.Deserialize <int>(text);
            var target2 = EasyJsonSerializer.Deserialize <int[]>("  ");

            Console.WriteLine("target:" + target.ToString());
            Console.WriteLine("-----------------------");

            target = 11;
            Console.WriteLine("target:" + target.ToString());
            text   = EasyJsonSerializer.Serialize(target);
            target = EasyJsonSerializer.Deserialize <int>(text);
            Console.WriteLine("target:" + target.ToString());
            Console.WriteLine("-----------------------");

            target = 192;
            Console.WriteLine("target:" + target.ToString());
            text   = EasyJsonSerializer.Serialize(target);
            target = EasyJsonSerializer.Deserialize <int>(text);
            Console.WriteLine("target:" + target.ToString());
            Console.WriteLine("-----------------------");
        }
コード例 #2
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestDictionaryType()
        {
            var target = new Hashtable(2);

            target["A"] = "A";
            target["B"] = new TwoLevel()
            {
                Name = 1122, U = "First"
            };
            //GlobalJsonCompileSetting.Config(new JsonCompileSetting() { UseNumberInEnum = true });
            Console.WriteLine("target:" + target.ToString());
            var text = EasyJsonSerializer.Serialize(target);

            Console.WriteLine("target:" + text);
            target = EasyJsonSerializer.Deserialize <Hashtable>(text);
            Console.WriteLine("target:" + target.ToString());
            Console.WriteLine("-----------------------");

            target      = new Hashtable(2);
            target["A"] = "A";
            target["B"] = new TwoLevel()
            {
                Name = 1122, U = "First"
            };
            Console.WriteLine("target:" + target.ToString());
            text = EasyJsonSerializer.Serialize(target);
            Console.WriteLine("target:" + text);
            var target2 = EasyJsonSerializer.Deserialize <System.Collections.Generic.Dictionary <string, string> >(text);

            Console.WriteLine("target:" + target.ToString());
            Console.WriteLine("-----------------------");
        }
コード例 #3
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestWriteType()
        {
            var type = typeof(int);
            var text = EasyJsonSerializer.Serialize <Type>(type);

            type = EasyJsonSerializer.Deserialize <Type>(text);
        }
コード例 #4
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestDemo6()
        {
            //GlobalJsonCompileSetting.Config(new JsonCompileSetting() { WriteNullStringWhenObjectIsNull = false });

            var target = new TestDemo6()
            {
                Name = "\\\\LTET\"0",
                //Name = "\r",
                //Demo3 = new Serialization.TestDemo3()
                //{
                //    Name = "E",
                //    UId = 1265,
                //    ULong = 56465
                //}
            };

            var text = EasyJsonSerializer.Serialize(target);
            var tet  = EasyJsonSerializer.Serialize(text);

            Console.WriteLine("target:" + EasyJsonSerializer.Serialize(text));
            Console.WriteLine("target:" + Newtonsoft.Json.JsonConvert.SerializeObject(text));
            var t2 = Newtonsoft.Json.JsonConvert.DeserializeObject <string>(EasyJsonSerializer.Serialize(text));
            //var t3 = Newtonsoft.Json.JsonConvert.DeserializeObject<DateTime>("2015-06-23");
            var target2 = EasyJsonSerializer.Deserialize <TestDemo6>(t2);
            var targe3  = Newtonsoft.Json.JsonConvert.DeserializeObject <TestDemo6>(t2);
        }
コード例 #5
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestArrayEnumPrimitiveType()
        {
            //GlobalJsonCompileSetting.Config(new JsonCompileSetting() { UseNumberInEnum = true });
            var target = new[] { ABC.A, ABC.A, ABC.C, ABC.A | ABC.C };

            Console.WriteLine("target:");
            foreach (var i in target)
            {
                Console.WriteLine(i.ToString() + ",");
            }
            var text = EasyJsonSerializer.Serialize(target);

            target = EasyJsonSerializer.Deserialize <ABC[]>(text);
            Console.WriteLine("target:");
            foreach (var i in target)
            {
                Console.WriteLine(i.ToString() + ",");
            }
            Console.WriteLine("-----------------------");

            Console.WriteLine("target:");
            foreach (var i in target)
            {
                Console.WriteLine(i.ToString() + ",");
            }
            text = EasyJsonSerializer.Serialize(target);
            var target2 = EasyJsonSerializer.Deserialize <ICollection <ABC> >(text);

            Console.WriteLine("target:");
            foreach (var i in target2)
            {
                Console.WriteLine(i.ToString() + ",");
            }
            Console.WriteLine("-----------------------");
        }
コード例 #6
0
 Task IOutputFormatter.WriteAsync(OutputFormatterWriteContext context)
 {
     using (var writer = context.WriterFactory(context.HttpContext.Response.Body, Encoding.UTF8))
     {
         EasyJsonSerializer.SerializeObject(context.Object, writer);
         return(writer.FlushAsync());
     }
 }
コード例 #7
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
 public void TestSerializerSpeedTest()
 {
     var timeSpan = TimeSpan.FromHours(2);
     var text     = EasyJsonSerializer.Serialize(timeSpan);
     var spsn     = EasyJsonSerializer.Deserialize <TimeSpan>(text, new JsonDeserializeSetting()
     {
         DateTimeFormat = DateTimeFormat.ChineseStyle
     });
 }
コード例 #8
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestIser3()
        {
            var text = System.IO.File.ReadAllText(@"d:\json.txt");
            var list = ThunderReader.Load(text);
            var a    = EasyJsonSerializer.Deserialize <Dictionary <string, string> >(list);

            list = ThunderReader.Load(text);
            var b = EasyJsonSerializer.Deserialize <MyUser>(list);
        }
コード例 #9
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestMyString()
        {
            var obj = new
            {
                A = new { B = 1, C = "EFG" }
            };

            var text = EasyJsonSerializer.Serialize(obj);
            var ta   = EasyJsonSerializer.Deserialize <Dictionary <string, string> >(text);
        }
コード例 #10
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestTwoLevel()
        {
            var two = new TwoLevel()
            {
                U = "36}",
            };

            var text = EasyJsonSerializer.Serialize(two);
            var twoc = EasyJsonSerializer.Deserialize <TwoLevelCopy>(text);
        }
コード例 #11
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestTET()
        {
            var command = new MyStringCommand(NewId.GenerateString())
            {
                Version = 2
            };
            var text = EasyJsonSerializer.Serialize(command);

            var cmd1 = EasyJsonSerializer.Deserialize <MyStringCommand>(text);
            var cmd2 = Newtonsoft.Json.JsonConvert.DeserializeObject <MyStringCommand>(text);
        }
コード例 #12
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestException()
        {
            var ex = new Exception("etet", null);
            //var text = Newtonsoft.Json.JsonConvert.SerializeObject(ex);// EasyJsonSerializer.Default.Serialize<Exception>(ex);
            //Never.Serialization.Json.GlobalJsonCompileSetting.Config(new JsonCompileSetting() { WriteNullStringWhenObjectIsNull = true, });

            var text = EasyJsonSerializer.Serialize <Exception>(ex);
            //Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(ex));
            //Console.WriteLine(EasyJsonSerializer.Default.Serialize<Exception>(ex));
            var ex2 = EasyJsonSerializer.Deserialize <Exception>(text);
            // ex2 = Newtonsoft.Json.JsonConvert.DeserializeObject<Exception>(text);// EasyJsonSerializer.Default.Deserialize<Exception>(text);
        }
コード例 #13
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestArrayLevel3()
        {
            var text = System.IO.File.ReadAllText(@"c:\json.txt");
            var list = ThunderReader.Load(text);
            var cmd  = EasyJsonSerializer.Deserialize <MyStringCommand>(list);

            text = System.IO.File.ReadAllText(@"c:\json.txt");
            list = ThunderReader.Load(text);

            text = System.IO.File.ReadAllText(@"c:\json.txt");
            list = ThunderReader.Load(text);
        }
コード例 #14
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestDemo()
        {
            var demo = new TeseDemo()
            {
                Name  = "Lxl",
                UId   = 365,
                ULong = 54654
            };

            var text  = EasyJsonSerializer.Serialize(demo);
            var list  = ThunderReader.Load(text);
            var demo2 = EasyJsonSerializer.Deserialize <TeseDemo>(text);
        }
コード例 #15
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestArrayArrayIntType()
        {
            var target = new TwoLevel[][]
            {
                new TwoLevel[]
                {
                    new TwoLevel
                    {
                        Name = 234,
                        U    = "E",
                    },
                    new TwoLevel
                    {
                        Name = 54687,
                        U    = "EET"
                    }
                }
            };

            Console.WriteLine("target:");
            foreach (var i in target)
            {
                Console.WriteLine(i.ToString() + ",");
            }
            var text = EasyJsonSerializer.Serialize(target);

            target = EasyJsonSerializer.Deserialize <TwoLevel[][]>(text);
            Console.WriteLine("target:");
            foreach (var i in target)
            {
                Console.WriteLine(i.ToString() + ",");
            }
            Console.WriteLine("-----------------------");

            Console.WriteLine("target:");
            foreach (var i in target)
            {
                Console.WriteLine(i.ToString() + ",");
            }
            text = EasyJsonSerializer.Serialize(target);
            var target2 = EasyJsonSerializer.Deserialize <ICollection <TwoLevel[]> >(text);

            Console.WriteLine("target:");
            foreach (var i in target2)
            {
                Console.WriteLine(i.ToString() + ",");
            }
            Console.WriteLine("-----------------------");
        }
コード例 #16
0
 Task <InputFormatterResult> IInputFormatter.ReadAsync(InputFormatterContext context)
 {
     using (var reader = new StreamReader(context.HttpContext.Request.Body))
     {
         var text = reader.ReadToEnd();
         try
         {
             return(InputFormatterResult.SuccessAsync(EasyJsonSerializer.DeserializeObject(text, context.ModelType)));
         }
         catch
         {
             return(InputFormatterResult.SuccessAsync(Newtonsoft.Json.JsonConvert.DeserializeObject(text, context.ModelType)));
         }
     }
 }
コード例 #17
0
        public void Test0()
        {
            int?[][] vs = new int?[2][];
            vs[0]    = new int?[2];
            vs[0][0] = 0;
            vs[0][1] = 1;
            vs[1]    = new int?[2];
            vs[1][0] = 1;
            vs[1][1] = 1;

            var ser = EasyJsonSerializer.Serialize(vs);

            Console.WriteLine(ser);

            vs = EasyJsonSerializer.Deserialize <int?[][]>(ser);
        }
コード例 #18
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestMyDict()
        {
            var dict = new MyDict();

            dict["A"] = "A";
            dict["B"] = "B";

            var a = new
            {
                DICT = dict,
            };
            var json = Newtonsoft.Json.JsonConvert.SerializeObject(a);

            json = EasyJsonSerializer.Serialize(a);
            json = Jil.JSON.Serialize(a);
        }
コード例 #19
0
        public void TestTimeSpan()
        {
            var timeSpan = TimeSpan.FromHours(2);
            var text     = " " + EasyJsonSerializer.Serialize(timeSpan);

            EasyJsonSerializer.Deserialize <TimeSpan>(text, new JsonDeserializeSetting()
            {
                DateTimeFormat = DateTimeFormat.ChineseStyle
            });
            Newtonsoft.Json.JsonConvert.DeserializeObject <TimeSpan>(text);
            Jil.JSON.Deserialize <TimeSpan>(text);

            int times = 10000000;

            Console.WriteLine("begin........");

            using (var t = new Utils.MethodTickCount((x) => { Console.WriteLine(x); }))
            {
                for (var i = 0; i < times; i++)
                {
                    Newtonsoft.Json.JsonConvert.DeserializeObject <TimeSpan>(text);
                }
            }

            using (var t = new Utils.MethodTickCount((x) => { Console.WriteLine(x); }))
            {
                var setting = new JsonDeserializeSetting()
                {
                    DateTimeFormat = DateTimeFormat.ChineseStyle
                };
                for (var i = 0; i < times; i++)
                {
                    EasyJsonSerializer.Deserialize <TimeSpan>(text, setting);
                }
            }

            using (var t = new Utils.MethodTickCount((x) => { Console.WriteLine(x); }))
            {
                for (var i = 0; i < times; i++)
                {
                    Jil.JSON.Deserialize <TimeSpan>(text);
                }
            }

            Console.WriteLine("..........end");
            Console.ReadLine();
        }
コード例 #20
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestGenericDictionaryType()
        {
            var dict = new Dictionary <int, TwoLevel>(2);

            dict[1] = new TwoLevel()
            {
                Name = 1122, U = "First"
            };
            dict[2] = new TwoLevel()
            {
                Name = 3344, U = "Secode"
            };
            var text = EasyJsonSerializer.Serialize(dict);

            Console.WriteLine(text);
            var target2 = EasyJsonSerializer.Deserialize <System.Collections.Generic.Dictionary <int, TwoLevel> >(text);
        }
コード例 #21
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestGuidPrimitiveType()
        {
            var target = Guid.NewGuid();

            Console.WriteLine("target:" + target.ToString());
            var text = EasyJsonSerializer.Serialize(target);

            target = EasyJsonSerializer.Deserialize <Guid>(text);
            Console.WriteLine("target:" + target.ToString());
            Console.WriteLine("-----------------------");

            target = Guid.Empty;
            Console.WriteLine("target:" + target.ToString());
            text   = EasyJsonSerializer.Serialize(target);
            target = EasyJsonSerializer.Deserialize <Guid>(text);
            Console.WriteLine("target:" + target.ToString());
            Console.WriteLine("-----------------------");
        }
コード例 #22
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestMyList()
        {
            //var list = new MyList();
            //list.Add(1);
            //list.Add(2);

            //var a = new
            //{
            //    List = list,
            //};
            //var json = Newtonsoft.Json.JsonConvert.SerializeObject(a);
            //json = EasyJsonSerializer.Default.Serialize(a);
            //json = Jil.JSON.Serialize(a);

            Nullable <int> a = 2;
            //GlobalJsonCompileSetting.Config(new JsonCompileSetting() { WriteQuotationMarkWhenObjectIsNumber = true });

            var txt = EasyJsonSerializer.Serialize(a);
        }
コード例 #23
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestDemo2()
        {
            var demo = new TestDemo2()
            {
                Name  = "Lxl",
                UId   = 365,
                C     = '\ufff2',
                ULong = 54654,
                Demo3 = new TestDemo3()
                {
                    Name  = "Lxl33",
                    UId   = 3665,
                    ULong = 154654,
                }
            };

            var text  = EasyJsonSerializer.Serialize(demo);
            var list  = ThunderReader.Load(text);
            var demo2 = EasyJsonSerializer.Deserialize <TestDemo2>(text);
        }
コード例 #24
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestDemo999()
        {
            var a = new TeseDemo999()
            {
                Array = new TwoLevel[][]
                {
                    new TwoLevel[]
                    {
                        new TwoLevel
                        {
                            Name = 234
                        },
                        new TwoLevel
                        {
                            Name = 234
                        }
                    },
                    null,
                    new TwoLevel[]
                    {
                        new TwoLevel
                        {
                            Name = 234
                        },
                        new TwoLevel
                        {
                            Name = 234
                        }
                    },
                },
            };

            var text = EasyJsonSerializer.Serialize(a);

            Console.WriteLine(text);
            a    = EasyJsonSerializer.Deserialize <TeseDemo999>(text);
            text = EasyJsonSerializer.Serialize(a);
            Console.WriteLine(text);
        }
コード例 #25
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestDemo5()
        {
            var target = new TestDemo5()
            {
                Table = new Hashtable(),
                Name  = "TET",
            };

            target.Table["A"] = "A";
            target.Table["B"] = new TwoLevel()
            {
                Name = 1122, U = "First"
            };
            //GlobalJsonCompileSetting.Config(new JsonCompileSetting() { UseNumberInEnum = true });
            Console.WriteLine("target:" + target.ToString());
            var text = EasyJsonSerializer.Serialize(target);

            Console.WriteLine("target:" + text);
            var target2 = EasyJsonSerializer.Deserialize <TestDemo5>(text);

            Console.WriteLine("target:" + target.ToString());
        }
コード例 #26
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestDemo4()
        {
            var a = new TeseDemo4
            {
                Object = new TwoLevel
                {
                    Name  = 234,
                    U     = "UU",
                    Three = new ThreeLevel()
                    {
                        ABC = "LXL"
                    }
                },
            };

            var text = EasyJsonSerializer.Serialize(Anonymous.NewApiResult(ApiStatus.Success, (TwoLevel)null));

            Console.WriteLine(text);
            var ta = EasyJsonSerializer.Deserialize <ApiResult <TwoLevel> >(text);

            return;
        }
コード例 #27
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestMachineClass()
        {
            /*json序列化配置*/
            //Never.Serialization.Json.GlobalJsonCompileSetting.Config(new Never.Serialization.Json.JsonCompileSetting()
            //{
            //    UseNumberInEnum = false,
            //    WriteNullStringWhenObjectIsNull = true,GlobalJsonCompileSetting
            //    WriteQuotationMarkWhenObjectIsNumber = false,
            //    WriteQuotationMarkWhenObjectIsBoolean = false,
            //    DateTimeFormat = Never.Serialization.Json.DateTimeFormat.ChineseStyle,
            //});

            var target = new MachineClass()
            {
                Machine = Machine.mobile
            };
            var text = EasyJsonSerializer.Serialize(target);

            Console.WriteLine(text);
            //var source = EasyJsonSerializer.Default.Deserialize<MachineClass>(text);

            //text = "{\"Machine\":\"3\"}";
        }
コード例 #28
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestWriteTime()
        {
            var time = DateTime.Now;
            var text = EasyJsonSerializer.Serialize(time, new JsonSerializeSetting()
            {
                DateTimeFormat = DateTimeFormat.MicrosoftStyle
            });
            var time2 = EasyJsonSerializer.Deserialize <DateTime>(text);

            text = EasyJsonSerializer.Serialize(time, new JsonSerializeSetting()
            {
                DateTimeFormat = DateTimeFormat.ChineseStyle
            });
            var time3 = EasyJsonSerializer.Deserialize <DateTime>(text, new JsonDeserializeSetting()
            {
                DateTimeFormat = DateTimeFormat.ChineseStyle
            });

            text = EasyJsonSerializer.Serialize(time, new JsonSerializeSetting()
            {
                DateTimeFormat = DateTimeFormat.ISO8601Style
            });
            var time4 = EasyJsonSerializer.Deserialize <DateTime>(text, new JsonDeserializeSetting()
            {
                DateTimeFormat = DateTimeFormat.ISO8601Style
            });

            text = EasyJsonSerializer.Serialize(time, new JsonSerializeSetting()
            {
                DateTimeFormat = DateTimeFormat.RFC1123Style
            });
            var time5 = EasyJsonSerializer.Deserialize <DateTime>(text, new JsonDeserializeSetting()
            {
                DateTimeFormat = DateTimeFormat.RFC1123Style
            });
        }
コード例 #29
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestEnumType()
        {
            var tet = EasyJsonSerializer.Deserialize <EnumClass>(EasyJsonSerializer.Serialize(new EnumClass()
            {
            }));
            var target = ABC.A | ABC.B;

            //GlobalJsonCompileSetting.Config(new JsonCompileSetting() { UseNumberInEnum = true });
            Console.WriteLine("target:" + target.ToString());
            var text = EasyJsonSerializer.Serialize(target);

            Console.WriteLine("target:" + text);
            target = EasyJsonSerializer.Deserialize <ABC>(text);
            Console.WriteLine("target:" + target.ToString());
            Console.WriteLine("-----------------------");

            target = ABC.C;
            Console.WriteLine("target:" + target.ToString());
            text = EasyJsonSerializer.Serialize(target);
            Console.WriteLine("target:" + text);
            target = EasyJsonSerializer.Deserialize <ABC>("null");
            Console.WriteLine("target:" + target.ToString());
            Console.WriteLine("-----------------------");
        }
コード例 #30
0
ファイル: SerializerTest.cs プロジェクト: stonezhu870/never
        public void TestArrayObjectType()
        {
            var target = new TwoLevel[]
            {
                new TwoLevel
                {
                    Name  = 234,
                    Three = new ThreeLevel()
                    {
                    }
                },
                null,
                new TwoLevel
                {
                    Name = 5465
                }
            };

            Console.WriteLine("target:");
            foreach (var i in target)
            {
                if (i == null)
                {
                    continue;
                }

                Console.WriteLine(i.ToString() + ",");
            }
            var text = EasyJsonSerializer.Serialize(target);

            target = EasyJsonSerializer.Deserialize <TwoLevel[]>(text);
            Console.WriteLine("target:");
            foreach (var i in target)
            {
                if (i == null)
                {
                    continue;
                }

                Console.WriteLine(i.ToString() + ",");
            }
            Console.WriteLine("-----------------------");

            Console.WriteLine("target:");
            foreach (var i in target)
            {
                if (i == null)
                {
                    continue;
                }

                Console.WriteLine(i.ToString() + ",");
            }
            text = EasyJsonSerializer.Serialize(target);
            var target2 = EasyJsonSerializer.Deserialize <List <TwoLevel> >(text);

            Console.WriteLine("target:");
            foreach (var i in target2)
            {
                if (i == null)
                {
                    continue;
                }

                Console.WriteLine(i.ToString() + ",");
            }
            Console.WriteLine("-----------------------");
        }