如何从作为服务引用添加的wcf post service反序列化数据表?

时间:2016-11-21 11:24:42

标签: asp.net wcf wcf-binding

我已经在wcf中编写代码来从sql数据库中获取数据。以下是我的代码

string SP_STATE = "SP_STATE";
Select selectOBJ = new Select();
DataTable dt = selectOBJ.selectSTATE(SP_STATE);
string jsonData= JsonConvert.SerializeObject(dt);
return jsonData;

我已经在asp.net中编写代码来从wcf post service获取数据,该服务被添加为服务引用但是当我从服务调用时..它给了我错误(附加信息:出现错误反序列化System.String类型的对象。从命名空间''期望结束元素'root'。 从名称空间'')找到元素'GetStateListResult'

以下是我的代码

MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(doctorServiceObj.GetStateList()));
STATELISTRESULT objStudent = (STATELISTRESULT)jsonSer.ReadObject(stream);
Response.Write(string.Format("Name = {0} and Address = {1}", objStudent.STATE, objStudent.ROW_ID));

请建议我解决方案

1 个答案:

答案 0 :(得分:0)

请在服务器端尝试:

    MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject( doctorServiceObj.GetStateList())));

那么你可以像这样在客户端对它进行deserilze:

var response = Newtonsoft.Json.JsonConvert.DeserializeObject<YourType>(responseString);