2013-08-07 18 views
5

meine Web-Service Return JSON Daten wie unten angegeben, aber ich wollte, ist wie in 2. CodeSnipts. meine Web-Service und Klasse wie unten angegeben.Convert JSON-Format Antwort von 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" 
     } 

aber ich möchte als

{ 
     "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" 
      } 
     ] 
    } 

mein C# -Code für Webservice als

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

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

Klasse als

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; } 
} 

hier obj.NowShowingGetList(ShowDate) Rückkehr Liste Vielen Dank im Voraus.

+1

Sie müssen eine neue erstellen Klassenname ShowInfo und Anzeige d Array oder Liste davon in der NowShowingInfo. Die Klasse ShowInfo enthält den Namen der Eigenschaft: ShowId und StartTime –

+1

Sie müssen einen neuen Klassennamen ShowInfo erstellen und Array oder Liste davon in NowShowingInfo hinzufügen. Die Klasse ShowInfo wird con – manoj

Antwort

2

Infos sind als

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; } 
    } 

und

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

Bearbeite gemäß der Einheit

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; } 
} 

make bedingte Veränderungen in Ihrem webservice

+0

Wie kann ich meine NowShowingInfo in Ihre NowShowingInfo konvertieren obj.NowShowingGetList (ShowDate) zurück NowShowingInfo meines Typs – user2641905

+0

Sind Sie ein Neuling ??? –

+0

Neuling bedeutet @NisargShah – user2641905

Verwandte Themen