2013-08-07 9 views
5

мой веб-сервис возвращает данные json, как указано ниже, но я хотел, как и во 2-й CodeSnipts. мой веб-сервис и класс, как указано ниже.Преобразование формата Json Ответ от 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" 
     } 

, но я хочу, как

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

мой C# код для Webservice в виде списка

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

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

класс, как

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

здесь obj.NowShowingGetList(ShowDate) возвратного Заранее спасибо.

+1

Вам нужно создать новый имя класса ShowInfo и объявление d Array или List of this в NowShowingInfo. Класс ShowInfo будет содержать имя свойства: ShowId и StartTime –

+1

Вам нужно создать новое имя класса ShowInfo и добавить Array или List of this в NowShowingInfo. Класс ShowInfo будет con – manoj

ответ

2

Infos являются

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

и

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

Внести изменения как в сущности

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

связаны, внести изменения в ваш WebService

+0

как я могу преобразовать мою NowShowingInfo в ваш NowShowingInfo obj.NowShowingGetList (ShowDate) return NowShowingInfo моего типа – user2641905

+0

Вы новичок ??? –

+0

новичок означает @NisargShah – user2641905

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