Decode Json con ASP.net
andrea82 non è online. Ultima attività: 17/11/2008 18.02.51andrea82
Inserito il: 09 ottobre 2008 17.44
3 messaggi dal 20 dic 2007 Istalla Microsoft Silverlight!
Vorrei includere un motore di ricerca nel mio sito utilizzando Google.

Ho realizzato il codice per reperire il risultato da http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris%20Hilton (l'esempio fornito da google).

Ora dovrei ricavare i dati da essa.

Ho provato diverse classi sia per ASP che per ASP.net

Json.NET (http://www.codeplex.com/Json/Release/ProjectReleases.aspx?ReleaseId=16593)
Jayrock (http://jayrock.berlios.de/)
CCB.JSONParser.asp (http://blog.crayoncowboy.com/?p=7)
json.class.asp (http://zend.lojcomm.com.br/)


Forse è una cosa semplice, ma non ne sono riuscito a venirne a capo.

Ad esempio utilizzando json.class.asp:

set oJson = new Json
oJson.loadJson(xml.responseText)
for each key in oJson.getChildNodes("responseData")
Response.write(key & " : " & oJson.getElement(key) & "<br />" & vbCrLf)
next
set oJson = nothing

Sono riuscito a leggere qst:

responseData.results : [object Array]
responseData.cursor : [object Object]

Come posso leggere quello che mi interessa, cioè: titleNoFormatting, unescapedUrl, content?

Potete fare 1 esempio?

Grazie
RE: Decode Json con ASP.net
andrea82 non è online. Ultima attività: 17/11/2008 18.02.51andrea82
Inserito il: 13 ottobre 2008 17.24
3 messaggi dal 20 dic 2007 Istalla Microsoft Silverlight!
Cerco di spiegarmi meglio:

Voglio implementare la ricerca di Google nel mio sito utilizzando i dati di ritorno codificati in stringa JSON.
(http://code.google.com/apis/ajaxsearch/documentation/#fonje).

Nel mio codice leggo i risultati tramite il seguente codice (l'url è di esempio):

Dim client As WebClient = New WebClient
Dim urlFormat As String = ""
If String.IsNullOrEmpty(urlFormat) Then
urlFormat = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris%20Hilton"
End If
Dim url As Uri = New Uri(urlFormat)
Dim Search As String = client.DownloadString(url)


Cerco di decodificare la stinga ottenuta ma ottengo un errore:

Dim reader As JsonTextReader = New JsonTextReader(New StringReader(Search))
reader.Read()


Ottengo il seguente errore:
JSON root object has multiple properties. The root object must have a single property in order to create a valid XML document.

Come posso leggere i risultati?

Partendo dalla stringa JSON come questa:


{"responseData": {
"results": [
{
"GsearchResultClass": "GwebSearch",
"unescapedUrl": "http://en.wikipedia.org/wiki/Paris_Hilton",
"url": "http://en.wikipedia.org/wiki/Paris_Hilton",
"visibleUrl": "en.wikipedia.org",
"cacheUrl": "http://www.google.com/search?q\u003dcache:TwrPfhd22hYJ:en.wikipedia.org",
"title": "\u003cb\u003eParis Hilton\u003c/b\u003e - Wikipedia, the free encyclopedia",
"titleNoFormatting": "Paris Hilton - Wikipedia, the free encyclopedia",
"content": "\[1\] In 2006, she released her debut album..."
},
{
"GsearchResultClass": "GwebSearch",
"unescapedUrl": "http://www.imdb.com/name/nm0385296/",
"url": "http://www.imdb.com/name/nm0385296/",
"visibleUrl": "www.imdb.com",
"cacheUrl": "http://www.google.com/search?q\u003dcache:1i34KkqnsooJ:www.imdb.com",
"title": "\u003cb\u003eParis Hilton\u003c/b\u003e",
"titleNoFormatting": "Paris Hilton",
"content": "Self: Zoolander. Socialite \u003cb\u003eParis Hilton\u003c/b\u003e..."
},
...
],
"cursor": {
"pages": [
{ "start": "0", "label": 1 },
{ "start": "4", "label": 2 },
{ "start": "8", "label": 3 },
{ "start": "12","label": 4 }
],
"estimatedResultCount": "59600000",
"currentPageIndex": 0,
"moreResultsUrl": "http://www.google.com/search?oe\u003dutf8\u0026ie\u003dutf8..."
}
}
, "responseDetails": null, "responseStatus": 200}



Vorrei leggere i dati in questo modo:

Console.WriteLine(results(0).GsearchResultClass)
Console.WriteLine(results(0).unescapedUrl)
Console.WriteLine(results(0).title)
...
Console.WriteLine(results(1).GsearchResultClass)
Console.WriteLine(results(1).unescapedUrl)
Console.WriteLine(results(1).title)


E' possibile ottenere questo risultato?

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


PeppeDotNet - 1000 pt
gghi - 310 pt
fabrica - 50 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008, SQL Prompt e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums