Fråga : jSON för googlesökandeAPI C# ifrågasätter

Min allmänhet för
för typeofdeclaration

[Serializable] klassificerar GooglePage
{
allmänhet stränger start; allmänhet för
stränger etiketten;
public för
[Serializable] för
} klassificerar GoogleResponseCursor
{offentliga GooglePage [] sidor för
; offentlig int estimatedResultCount för
; offentlig int currentPageIndex för
; allmänhet för
stränger moreResultsUrl;
public för
[Serializable] för
} klassificerar GoogleResponseData
{
allmänhet stränger [] resultat; offentlig GoogleResponseCursor markör för
;
public för
[Serializable] för
} klassificerar GoogleResponseStandard
{offentlig GoogleResponseData responseData för
; allmänhet för
stränger responseDetails; allmänhet för
stränger responseStatus;

soaprequest för
för
} skrivs ut korrekt, och jag har kontrollerat den. mest soaprequest är en stränga som innehåller det seriekopplade jsonsvaret från ms för googleapi



MemoryStream = nya MemoryStream (); ser för
DataContractJsonSerializer = nya DataContractJsonSerializer (typeof (GoogleResponseStandard));        
ms = nya MemoryStream (Encoding.Unicode.GetBytes (soaprequest)); ser för
= nya DataContractJsonSerializer (typeof (GoogleResponseStandard));
GoogleResponseStandard för
person2 = ser.ReadObject (ms) som GoogleResponseStandard; ms för
. Nära ();        uppehälle för

I ”objekt” får för fel

End för beståndsdelen från namespace '' förväntad. Funnen beståndsdel ”GsearchResultClass” från namespace ''.
" klar "

Svar : jSON för googlesökandeAPI C# ifrågasätter

Testa sidan:

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
using system;
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]
    allmänhet klassificerar GooglePage
    {
        allmänhet stränger start;
        allmänhet stränger etiketten;
    }
    
    [Serializable]
    allmänhet klassificerar GoogleResponseCursor
    {
        offentliga GooglePage [] sidor;
        offentlig int-estimatedResultCount;
        offentlig int-currentPageIndex;
        allmänhet stränger moreResultsUrl;
    }
    
    [Serializable]
    allmänhet klassificerar GoogleResponseData
    {
        allmänhet stränger [] resultat;
        offentlig GoogleResponseCursor markör;
    }
    
    [DataContract]
    allmänhet klassificerar ResponseData
    {
        (Namnge = ”responseDataen”)] [DataMember,
        offentlig ResultList responseData
        {få; uppsättning; }
        (Namnge = ”responseDetails”)] [DataMember,
        allmänhet stränger responseDetails
        {få; uppsättning; }
        (Namnge = ”responseStatusen”)] [DataMember,
        allmänhet stränger responseStatus
        {få; uppsättning; }
    }

    [DataContract]
    allmänhet klassificerar ResultList
    {
        (Namnge = ”resulterar”)] [DataMember,
        offentliga GsearchResultClass [] GResult
        {få; uppsättning; }
    }

    [DataContract]
    allmänhet klassificerar GsearchResultClass
    {
        (Namnge = ”GsearchResultClass”)] [DataMember,
        allmänhet stränger GsearchResult
        {få; uppsättning; }
    }



    offentligt partiskt klassificerar _Default: System.Web.UI.Page
    {
        skyddade utan laga kraft Page_Load (anmärka avsändaren, EventArgs e),
        {
            stränga mest soaprequest = ”{\ ”responseDataen \”: {\ ”resultat \”: [{\ ”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, den fria encyklopedien \”}, {\ ”GsearchResultClass \”: \ ”GwebSearch \”, \ ”unescapedUrl \”: \ ”http://www.imdb.com/name/nm0385296/ \”, \ ”url \”: \ ”http://www.imdb.com/name/nm0385296/ \”, \ ”visibleUrl \”: \ ”www.imdb.com \”, \ ”titleNoFormatting \”: \ ”Paris Hilton \”}], \ ”markör \”: {\ ”sidor \”: [{\ ”start \”: \ ”0 \”, \ ”etikett \”: 1}, {\ ”starten \”: \ ”4 \”, \ ”etikett \”: 2}, {\ ”starten \”: \ ”8 \”, \ ”etikett \”: 3}, {\ ”starten \”: \ ”12 \”, \ ”etikett \”: 4}], \ ”estimatedResultCount \”: \ ”59600000 \”, \ ”currentPageIndex \”: 0 \ ”moreResultsUrl \”: \ ”http://www.google.com/search?oe \”}}, \ ”responseDetails \”: ogiltig \ ”responseStatus \”: 200} ”;

            DataContractJsonSerializer ser = nya DataContractJsonSerializer (typeof (ResponseData));
            respBytes för byte [] = (mest soaprequest) ASCIIEncoding.UTF8.GetBytes;
            använda (StreamReader avläsare = nya StreamReader (nya MemoryStream (respBytes)))
            {
                DataContractJsonSerializer serializer = nya DataContractJsonSerializer (typeof (ResponseData));
                ResponseData returnObj = (ResponseData) serializer.ReadObject (reader.BaseStream);
            }
        }
    }
}
Andra lösningar  
 
programming4us programming4us