从WCF服务返回的Json数据不完整
本文关键字:数据 Json WCF 服务 返回 | 更新日期: 2023-09-27 18:10:03
我从一个NET类返回JSON与我的WCF服务的4个属性。问题是当它被发送到浏览器(IE, Chrome, FF)。它只返回类
中的一个属性。NET类:
[DataContract]
public class MASInspections
{
[DataMember]
public int MaintID { get; set; }
public string MHID { get; set; }
public DateTime MaintDate { get; set; }
public string pdfReport { get; set; }
}
。网络接口:
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "GetInspectionByReach/{Reach}")]
List<MASInspections> GetInspectionByReach(string Reach);
。净方法:
public List<MASInspections> GetInspectionByReach(string Reach)
{
List<MASInspections> InspInfos = new List<MASInspections>();
DataSet ds = DBCalls.GetInspectionByReach(Reach);
DataTable dt = ds.Tables[0];
DataRowCollection drc = dt.Rows;
for (int i = 0; i < drc.Count; i++)
{
object[] values = drc[i].ItemArray;
MASInspections InspInfo = new MASInspections();
InspInfo.MaintID = Convert.ToInt32(values[0]);
InspInfo.MHID = Convert.ToString(values[1]);
InspInfo.MaintDate = Convert.ToDateTime(values[5]);
InspInfo.pdfReport = Convert.ToString(values[6]);
InspInfos.Add(InspInfo);
}
return InspInfos;//this inlcudes all 4 properties
}
当json被发送到浏览器时,只有MaintID在那里:
{"GetInspectionByReachResult":[{"MaintID":133},{"MaintID":178}]}
知道为什么会这样吗?
谢谢
这是你的问题:
[DataContract]
public class MASInspections
{
[DataMember]
public int MaintID { get; set; }
public string MHID { get; set; }
public DateTime MaintDate { get; set; }
public string pdfReport { get; set; }
}
你需要:
[DataContract]
public class MASInspections
{
[DataMember]
public int MaintID { get; set; }
[DataMember]
public string MHID { get; set; }
[DataMember]
public DateTime MaintDate { get; set; }
[DataMember]
public string pdfReport { get; set; }
}