using система;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Runtime.Serialization.Json;
using System.Text;
namespace WebApplication21
{
[Serializable]
общественный тип GooglePage
{
общественный старт шнура;
общественный ярлык шнура;
}
[Serializable]
общественный тип GoogleResponseCursor
{
общественные страницы GooglePage [];
общественное estimatedResultCount int;
общественное currentPageIndex int;
общественное moreResultsUrl шнура;
}
[Serializable]
общественный тип GoogleResponseData
{
общественные результаты шнура [];
общественная стрелка GoogleResponseCursor;
}
[DataContract]
общественный тип ResponseData
{
[DataMember (имя = «responseData»)]
общественное responseData ResultList
{получите; комплект; }
[DataMember (имя = «responseDetails»)]
общественные responseDetails шнура
{получите; комплект; }
[DataMember (имя = «responseStatus»)]
общественное responseStatus шнура
{получите; комплект; }
}
[DataContract]
общественный тип ResultList
{
[DataMember (имя = «приводит к»)]
общественное GsearchResultClass [] GResult
{получите; комплект; }
}
[DataContract]
общественный тип GsearchResultClass
{
[DataMember (имя = «GsearchResultClass»)]
общественный шнур GsearchResult
{получите; комплект; }
}
общественное частично _Default типа: System.Web.UI.Page
{
защищенное пустое Page_Load (прислужник предмета, EventArgs e)
{
шнур soaprequest = «{\ «responseData \»: {\ «результаты \»: [{\ «GsearchResultClass \»: \ «GwebSearch \», \ «unescapedUrl \»: \ «http://en.wikipedia.org/wiki/Paris_Hilton \», \ «url \»: \ «http://en.wikipedia.org/wiki/Paris_Hilton \», \ «visibleUrl \»: \ «en.wikipedia.org \», \ «titleNoFormatting \»: \ «Париж Hilton - Wikipedia, свободно энциклопедия \»}, {\ «GsearchResultClass \»: \ «GwebSearch \», \ «unescapedUrl \»: \ «http://www.imdb.com/name/nm0385296/ \», \ «url \»: \ «http://www.imdb.com/name/nm0385296/ \», \ «visibleUrl \»: \ «www.imdb.com \», \ «titleNoFormatting \»: \ «Париж Hilton \»}], \ «стрелка \»: {\ «страницы \»: [{\ «старт \»: \ «0 \», \ «ярлык \»: 1}, {\ «старт \»: \ «4 \», \ «ярлык \»: 2}, {\ «старт \»: \ «8 \», \ «ярлык \»: 3}, {\ «старт \»: \ «12 \», \ «ярлык \»: 4}], \ «estimatedResultCount \»: \ «59600000 \», \ «currentPageIndex \»: 0, \ «moreResultsUrl \»: \ «http://www.google.com/search?oe \»}}, \ «responseDetails \»: , null \ «responseStatus \»: 200} «;
Ser DataContractJsonSerializer = новое DataContractJsonSerializer (typeof (ResponseData));
respBytes байта [] = ASCIIEncoding.UTF8.GetBytes (soaprequest);
использование (читатель StreamReader = новое StreamReader (новое MemoryStream (respBytes)))
{
Serializer DataContractJsonSerializer = новое DataContractJsonSerializer (typeof (ResponseData));
returnObj ResponseData = (ResponseData) serializer.ReadObject (reader.BaseStream);
}
}
}
}
|