using le système ;
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]
classe publique GooglePage
{
début public de corde ;
étiquette publique de corde ;
}
[Serializable]
classe publique GoogleResponseCursor
{
pages publiques de GooglePage [] ;
estimatedResultCount public d'international ;
currentPageIndex public d'international ;
moreResultsUrl public de corde ;
}
[Serializable]
classe publique GoogleResponseData
{
résultats publics de corde [] ;
curseur public de GoogleResponseCursor ;
}
[DataContract]
classe publique ResponseData
{
[DataMember (nom = « responseData »)]
responseData public de ResultList
{obtenir ; ensemble ; }
[DataMember (nom = « responseDetails »)]
responseDetails publics de corde
{obtenir ; ensemble ; }
[DataMember (nom = « responseStatus »)]
responseStatus public de corde
{obtenir ; ensemble ; }
}
[DataContract]
classe publique ResultList
{
[DataMember (le nom = « résulte »)]
GsearchResultClass public [] GResult
{obtenir ; ensemble ; }
}
[DataContract]
classe publique GsearchResultClass
{
[DataMember (nom = « GsearchResultClass »)]
corde publique GsearchResult
{obtenir ; ensemble ; }
}
_Default partiel public de classe : System.Web.UI.Page
{
Page_Load vide protégé (expéditeur d'objet, EventArgs e)
{
corde soaprequest = « {\ « responseData \ » : {\ « résultats \ » : [{\ « GsearchResultClass \ » : \ « GwebSearch \ », \ « unescapedUrl \ » : \ « http://en.wikipedia.org/wiki/Paris_Hilton \ », \ « URL \ » : \ « http://en.wikipedia.org/wiki/Paris_Hilton \ », \ « visibleUrl \ » : \ « en.wikipedia.org \ », \ « titleNoFormatting \ » : \ « Paris Hilton - Wikipedia, l'encyclopédie libre \ »}, {\ « GsearchResultClass \ » : \ « GwebSearch \ », \ « unescapedUrl \ » : \ « http://www.imdb.com/name/nm0385296/ \ », \ « URL \ » : \ « http://www.imdb.com/name/nm0385296/ \ », \ « visibleUrl \ » : \ « www.imdb.com \ », \ « titleNoFormatting \ » : \ « Paris Hilton \ »}], \ « curseur \ » : {\ « pages \ » : [{\ « début \ » : \ « 0 \ », \ « étiquette \ » : 1}, {\ « début \ » : \ « 4 \ », \ « étiquette \ » : 2}, {\ « début \ » : \ « 8 \ », \ « étiquette \ » : 3}, {\ « début \ » : \ « 12 \ », \ « étiquette \ » : 4}], \ « estimatedResultCount \ » : \ « 59600000 \ », \ « currentPageIndex \ » : 0, \ « moreResultsUrl \ » : \ « http://www.google.com/search?oe \ »}}, \ « responseDetails \ » : , de nulle \ « responseStatus \ » : 200} « ;
Ser de DataContractJsonSerializer = nouveau DataContractJsonSerializer (typeof (ResponseData));
respBytes de byte [] = ASCIIEncoding.UTF8.GetBytes (soaprequest) ;
utilisation (lecteur de StreamReader = nouveau StreamReader (nouveau MemoryStream (respBytes)))
{
Serializer de DataContractJsonSerializer = nouveau DataContractJsonSerializer (typeof (ResponseData));
returnObj de ResponseData = (ResponseData) serializer.ReadObject (reader.BaseStream) ;
}
}
}
}
|