示例#1
0
        public void DeserializeClassManually()
        {
            string jsonText = @"{
              ""short"":{
              ""original"":""http://www.foo.com/"",
              ""short"":""krehqk"",
              ""error"":{
                  ""code"":0,
                  ""msg"":""No action taken""}
              }";

              JObject json = JObject.Parse(jsonText);

              Shortie shortie = new Shortie
                        {
                          Original = (string)json["short"]["original"],
                          Short = (string)json["short"]["short"],
                          Error = new ShortieException
                                  {
                                    Code = (int)json["short"]["error"]["code"],
                                    ErrorMessage = (string)json["short"]["error"]["msg"]
                                  }
                        };

              Console.WriteLine(shortie.Original);
              // http://www.foo.com/

              Console.WriteLine(shortie.Error.ErrorMessage);
              // No action taken

              Assert.AreEqual("http://www.foo.com/", shortie.Original);
              Assert.AreEqual("krehqk", shortie.Short);
              Assert.AreEqual(null, shortie.Shortened);
              Assert.AreEqual(0, shortie.Error.Code);
              Assert.AreEqual("No action taken", shortie.Error.ErrorMessage);
        }
        public void LinqToJsonDeserializeExample()
        {
            #region LinqToJsonDeserializeExample
            string jsonText = @"{
              'short': {
                'original': 'http://www.foo.com/',
                'short': 'krehqk',
                'error': {
                  'code':0,
                  'msg':'No action taken'
                }
            }";

            JObject json = JObject.Parse(jsonText);

            Shortie shortie = new Shortie
            {
                Original = (string)json["short"]["original"],
                Short = (string)json["short"]["short"],
                Error = new ShortieException
                {
                    Code = (int)json["short"]["error"]["code"],
                    ErrorMessage = (string)json["short"]["error"]["msg"]
                }
            };

            Console.WriteLine(shortie.Original);
            // http://www.foo.com/

            Console.WriteLine(shortie.Error.ErrorMessage);
            // No action taken
            #endregion
        }