using il sistema;
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]
codice categoria pubblico GooglePage
{
inizio pubblico della stringa;
etichetta pubblica della stringa;
}
[Serializable]
codice categoria pubblico GoogleResponseCursor
{
pagine pubbliche di GooglePage [];
estimatedResultCount pubblico di int;
currentPageIndex pubblico di int;
moreResultsUrl pubblico della stringa;
}
[Serializable]
codice categoria pubblico GoogleResponseData
{
risultati pubblici della stringa [];
cursore pubblico di GoogleResponseCursor;
}
[DataContract]
codice categoria pubblico ResponseData
{
[DataMember (nome = “responseData„)]
responseData pubblico di ResultList
{ottenere; insieme; }
[DataMember (nome = “responseDetails„)]
responseDetails pubblici della stringa
{ottenere; insieme; }
[DataMember (nome = “responseStatus„)]
responseStatus pubblico della stringa
{ottenere; insieme; }
}
[DataContract]
codice categoria pubblico ResultList
{
[DataMember (nome = “risulta„)]
GsearchResultClass pubblico [] GResult
{ottenere; insieme; }
}
[DataContract]
codice categoria pubblico GsearchResultClass
{
[DataMember (nome = “GsearchResultClass„)]
stringa pubblica GsearchResult
{ottenere; insieme; }
}
_Default parziale pubblico del codice categoria: System.Web.UI.Page
{
Page_Load vuoto protettivo (mittente dell'oggetto, EventArgs e)
{
stringa più soaprequest = “{\ “responseData \„: {\ “risultati \„: [{\ “GsearchResultClass \„: \ “GwebSearch \„, \ “unescapedUrl \„: \ “http://en.wikipedia.org/wiki/Paris_Hilton \„, \ “URL \„: \ “http://en.wikipedia.org/wiki/Paris_Hilton \„, \ “visibleUrl \„: \ “en.wikipedia.org \„, \ “titleNoFormatting \„: \ “Parigi Hilton - Wikipedia, l'enciclopedia libera \„}, {\ “GsearchResultClass \„: \ “GwebSearch \„, \ “unescapedUrl \„: \ “http://www.imdb.com/name/nm0385296/ \„, \ “URL \„: \ “http://www.imdb.com/name/nm0385296/ \„, \ “visibleUrl \„: \ “www.imdb.com \„, \ “titleNoFormatting \„: \ “Parigi Hilton \„}], \ “cursore \„: {\ “pagine \„: [{\ “inizio \„: \ “0 \„, \ “etichetta \„: 1}, {\ “inizio \„: \ “4 \„, \ “etichetta \„: 2}, {\ “inizio \„: \ “8 \„, \ “etichetta \„: 3}, {\ “inizio \„: \ “12 \„, \ “etichetta \„: 4}], \ “estimatedResultCount \„: \ “59600000 \„, \ “currentPageIndex \„: 0, \ “moreResultsUrl \„: \ “http://www.google.com/search?oe \„}}, \ “responseDetails \„: , \ “di posizione di segnale minimo responseStatus \„: 200} “;
Ser di DataContractJsonSerializer = nuovo DataContractJsonSerializer (typeof (ResponseData));
respBytes di byte [] = ASCIIEncoding.UTF8.GetBytes (più soaprequest);
usando (lettore di StreamReader = nuovo StreamReader (nuovo MemoryStream (respBytes)))
{
Serializzatore di DataContractJsonSerializer = nuovo DataContractJsonSerializer (typeof (ResponseData));
returnObj di ResponseData = (ResponseData) serializer.ReadObject (reader.BaseStream);
}
}
}
}
|