2013-08-07 13 views
5

il mio servizio web restituisce i dati json come indicato di seguito ma volevo è come in 2nd CodeSnipts. il mio servizio web e classe come indicato di seguito.Conversione in formato Json Risposta da webservice

  { "ShowID": 10107, 
      "StartTime": "3:00 PM", 
      "MovieID": 13, 
      "Movie": "Bhaag Milkha Bhaag ", 
      "Screen": "CDC SCreen2", 
      "MediaPath": "bmb1_568962.jpg" 
     },{ "ShowID": 115, 
      "StartTime": "6:00 PM", 
      "MovieID": 13, 
      "Movie": "Bhaag Milkha Bhaag ", 
      "Screen": "CDC SCreen2", 
      "MediaPath": "bmb1_568962.jpg" 
     },{ "ShowID": 110, 
      "StartTime": "9:00 PM", 
      "MovieID": 13, 
      "Movie": "Bhaag Milkha Bhaag ", 
      "Screen": "CDC SCreen2", 
      "MediaPath": "bmb1_568962.jpg" 
     } 

ma voglio come

{ 
     "MovieID": 13, 
     "Movie": "Bhaag Milkha Bhaag ", 
     "Screen": "CDC SCreen2", 
     "MediaPath": "bmb1_568962.jpg", 
     "ShowInfo": [ 
      { 
       "ShowID": 10107, 
       "StartTime": "3:00 PM" 
      }, 
      { 
       "ShowID": 115, 
       "StartTime": "6:00 PM" 
      }, 
      { 
       "ShowID": 110, 
       "StartTime": "9:00 PM" 
      } 
     ] 
    } 

il mio codice C# per Webservice come elenco

[WebMethod] 
public string NowShowingGetList(DateTime ShowDate) 
{ 
    HomeController obj = new HomeController(); 

    JavaScriptSerializer js = new JavaScriptSerializer(); 
    string retJSON = js.Serialize(obj.NowShowingGetList(ShowDate)); 
    return retJSON; 
} 

classe come

public class NowShowingInfo 
{ 
    public int ShowID { get; set; } 
    public string StartTime { get; set; } 
    public int MovieID { get; set; } 
    public string Movie { get; set; } 
    public string Screen { get; set; } 
    public string MediaPath { get; set; } 
} 

qui obj.NowShowingGetList(ShowDate) ritorno Grazie in anticipo.

+1

È necessario creare una nuova nome della classe ShowInfo e annuncio d Array o List of it in NowShowingInfo. La classe ShowInfo conterrà nome proprietà: ShowId e StartTime –

+1

È necessario creare un nuovo nome di classe ShowInfo e aggiungere Array o Elenco di esso in NowShowingInfo. La classe ShowInfo con – manoj

risposta

2

Infos sono come

public class ShowInfo 
    { 
     public int ShowID { get; set; } 
     public string StartTime { get; set; } 
    } 
    public class NowShowing 
    { 
     public List<ShowInfo> ShowInfo { get; set; } 
     public int MovieID { get; set; } 
     public string Movie { get; set; } 
     public string Screen { get; set; } 
     public string MediaPath { get; set; } 
    } 

e

public List<NowShowing> NowShowingGetList(DateTime ShowDate) 
    {    
     List<NowShowingInfo> objshowList = obj.NowShowingGetList(ShowDate); 

     int movieID = 0; 
     List<NowShowing> objShowingList = new List<NowShowing>(); 

     NowShowing obj2 = new NowShowing(); 
     ShowInfo objshowInfo = new ShowInfo(); 
     List<ShowInfo> objshowInfoList = new List<ShowInfo>(); 
     int count = 0; 
     string Screen=""; 
     foreach (NowShowingInfo objs in objshowList) 
     { 
      if (movieID != objs.MovieID) 
      { 
       if (count != 0) 
       { 
        obj2.ShowInfo = objshowInfoList; 
        objshowInfoList = new List<ShowInfo>(); 
        objShowingList.Add(obj2); 
        count = 0; 
       } 
       obj2 = new NowShowing(); 
       obj2.MovieID = objs.MovieID; 
       obj2.Movie = objs.Movie; 
       obj2.Screen = objs.Screen; 
       obj2.MediaPath = objs.MediaPath; 

       if (count == 0) 
       { 
        objshowInfo = new ShowInfo(); 
        objshowInfo.ShowID = objs.ShowID; 
        objshowInfo.StartTime = objs.StartTime; 
        objshowInfoList.Add(objshowInfo); 
       } 

      } 
      else 
      { 
       objshowInfo = new ShowInfo(); 
       objshowInfo.ShowID = objs.ShowID; 
       objshowInfo.StartTime = objs.StartTime; 
       objshowInfoList.Add(objshowInfo); 
      } 
      movieID = objs.MovieID; 
      Screen = objs.Screen; 
      count++; 
     } 

     obj2.ShowInfo = objshowInfoList; 
     objShowingList.Add(obj2); 
     return objShowingList; 
    } 
5

apportare le modifiche per l'entità

public class NowShowingInfo 
{ 
    public List<ShowInfo> ShowInformation { get; set; } 
    public int MovieID { get; set; } 
    public string Movie { get; set; } 
    public string Screen { get; set; } 
    public string MediaPath { get; set; } 
} 

public class ShowInfo 
{ 
    public int ShowID { get; set; } 
    public string StartTime { get; set; } 
} 

relativi apportare modifiche nella vostra webservice

+0

come posso convertire il mio NowShowingInfo nel tuo NowShowingInfo obj.NowShowingGetList (ShowDate) return NowShowingInfo del mio tipo – user2641905

+0

Sei un principiante ??? –

+0

newbie significa @NisargShah – user2641905