转换Json格式的Web服务响应
本文关键字:服务 响应 Web Json 格式 转换 | 更新日期: 2023-09-27 18:26:51
我的web服务返回json数据,如下所示,但我想要的是第二个代码段中的数据。我的web服务和类如下所示。
{ "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"
}
]
}
作为的Web服务的c#代码
[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)
返回列表提前谢谢。
根据实体进行更改
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; }
}
在您的Web服务中进行相关更改
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;
}