2014-02-05 4 views
0

Я новичок в разработке Windows-телефона и поэтому по ссылкам реализовал какой-то код, но я не могу получить желаемый результат.JSON синтаксический анализ в windows phone 8

Я хочу разобрать JSON, который получен в качестве ответа от сервера. Ниже вы найдете мой код.

class JSONParsing 
    { 
     public Status response { get; set; } 
     public static void webClient1_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
     { 
      if (!String.IsNullOrEmpty(e.Result)) 
      { 
       try 
       { 

        JSONParsing root = JsonConvert.DeserializeObject<JSONParsing>(e.Result); 
        // root is null here 

        JObject obj = root.response.statusDetail; 
        // from here it goes to Catch block 
        foreach (KeyValuePair<string, JToken> pair in obj) 
        { 
         string key = pair.Key; 
         foreach (JObject detail in pair.Value as JArray) 
         { 
          string Code = detail["Code"].ToString(); 
          string Msg = detail["Msg"].ToString(); 
          string RegistrationID = detail["RegistrationID"].ToString(); 
          string Name = detail["Name"].ToString(); 
          string Phone = detail["Phone"].ToString(); 
          string email = detail["email"].ToString(); 
          string password = detail["password"].ToString(); 
         } 
        } 
       } 
       catch (Exception ex) 
       { 
        Console.WriteLine("Cause of Exception is " + ex.Message); 

        // exception is-- "Object reference not set to an instance of an object." 
       } 
      } // if for empty 
     } 

    } 

    public class Status 
    { 
     public string Code { get; set; } 
     public string Msg { get; set; } 
     public object RegistrationID { get; set; } 
     public string Name { get; set; } 
     public string Phone { get; set; } 
     public string email { get; set; } 
     public string password { get; set; } 

     [JsonProperty("")] 
     public JObject statusDetail { get; set; } 
    } 
    public class RootObject 
    { 
     public List<Status> Status { get; set; } 
     public int success { get; set; } 
    } 

} 

Пожалуйста, помогите.

+0

Я не совсем понимаю проблему. «Я не могу получить желаемый результат *», не добавляет много информации. Каков ваш желаемый результат и какой результат вы получите из текущего кода ?. пожалуйста, по крайней мере, предоставить образец jason string, который вы получили. – har07

ответ

0

Если корень нулевой класс «JSONParsing» не имеющий такую ​​же структуру, как класса JSON

и поскольку корень имеет нулевое значение, доступ к собственности в нуль («root.response.statusDetail») будет сгенерировано исключение

вы можете использовать http://json2csharp.com/, чтобы получить класс структуру JSON

Смежные вопросы