2016-11-21 1 views
1

Я написал код в wcf для извлечения данных из базы данных sql. Ниже мой кодкак десериализовать таблицу данных из службы сообщений wcf, которая добавляется как служебная ссылка?

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

я написал код в asp.net для извлечения данных из ФОС почтовой службы, который добавляется в качестве ссылки на службу, но когда я звоню от службы ..Время дает мне ошибку (Дополнительному информация:. Была ошибку десериализации объекта типа System.String End элемент «корень» из пространства имен «». ожидается Found элемента «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)); 

Пожалуйста Предложите мне решение

+0

Возможный дубликат [Как выполнить сериализацию и десериализация данных в JSON и обратно) (http://stackoverflow.com/questions/13165712/how-to-perform-serialization-and-deserialization-of-datatables-to-and-from-json) –

ответ

0

пожалуйста, попробуйте это на стороне сервера:

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

, то вы можете deserilze его в стороне клиента, как это:

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

Я сталкиваюсь с тем же ошибка, можете ли вы объяснить мне, что такое YourType и responseStri нг. Я переопределяю DataTable из WCF, это YoutType будет DataTable. –