Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > Klientspråk > JavaScript

Formattera JSON-sträng till läsbart format

pbf
pbf

Gradering

#13672

Tjenare!


Jag har skapat en sk. "dapp" på dapper.net (http://www.dapper.net/dapp-howto-us...ikipediacontent) som hämtar data från wikipedia. JSON-strängen som returneras ser ut såhär:

http://aspkoll.se/code/Index.asp?id=427

Jag undrar om det på något skumt sätt går att loopa ut all kontenta i den strängen. Som ni ser är den uppdelad i ContentParts. Det kanske går att loopa ut dessa på nåt sätt så jag får ut informationen om personen.

life is short, enjoy it!
Taggar: json,
ID: #13672 | Skapades: 2008-12-07 11:37:45 | Tråden har 11 svar och har lästs 482 gånger.

Använd jquery eller php
Kan du lägga upp din json sträng i en sida utan code, så ska jag göra ett exempel.



Redigerad av ice
Anledning:Uppdaterade texten.

Kan man inte läsa och förstå min kod, kan man inte programmera - Christher Lenander
Taggar: jquery, php,
ID: #13673 | Skapades: 2008-12-07 13:26:06

pbf
pbf

Gradering

#13674

Schysst.

Vad menar du en sida utan code? JSON-strängen går att kopiera i code-editorn och bara läggas in i en sträng i din kod?

Helst jQuery då jag använder mig av ASP.NET C#.

life is short, enjoy it!
ID: #13674 | Skapades: 2008-12-07 14:29:10

Här är vad jag lyckats göra. Går säkert att förbättra den ytterligare.

http://aspkoll.se/code/Index.asp?id=429



Redigerad av ice
Anledning:Uppdaterade länken + uppdaterade texten

Kan man inte läsa och förstå min kod, kan man inte programmera - Christher Lenander
ID: #13678 | Skapades: 2008-12-08 00:01:23

pbf
pbf

Gradering

#13695

Tack så väldigt för din hjälp ice. Det finns bara ett krux. Denna web service jag anropar till dapper går inte att göra i ett ajax- eller getJSON-anrop. Därför måste jag först skapa en web service som anropar en proxy som sedan hämtar JSON-strängen. Detta har jag gjort och fungerar perfekt. Här är koden (web servicen ovan, och proxy-klassen under):

http://aspkoll.se/code/Index.asp?id=430

Strängen som returneras är fortfarande densamma, och ice kod ser riktigt bra ut, men hur får jag den att fungera med den kod jag har nu?

Jag anropar min web service som returnerar min JSON-sträng med följande kod:

ProxyWebService.FetchWikipediaContent("Bob Marley", "en");

Ovanstående kod returnerar som sagt JSON-strängen. Nu är det bara formatteringen kvar, hur jag tillämpar ice kod i mitt scenario?

life is short, enjoy it!
ID: #13695 | Skapades: 2008-12-08 14:05:38

Du får göra en sida som returnerar json strängen och anroppar den sidan $.getJSON('url_till_sidan_med_json_strängen');

Jag gjorde som så, att jag skapade en sida som hämtade json strängen från dapper.
Använde file_get_contents(url_till_dapper) i en cakephp action (vanlig sida) som heter give_me_json.
Sen skickade jag in den url:en i $.getJSON('give_me_json');



Redigerad av ice
Anledning:Uppdaterade texten.

Kan man inte läsa och förstå min kod, kan man inte programmera - Christher Lenander
ID: #13699 | Skapades: 2008-12-08 14:45:43

pbf
pbf

Gradering

#13705

Hmm. Jag förstår faktiskt inte riktigt vad du menar, nog jag som är trött... Jag har två parametrar också, försvårar inte detta?

Går det inte att anropa min web service direkt i JavaScript:et sen bara ta emot JSON-strängen? Är inte så hajj på JS ännu.

life is short, enjoy it!
ID: #13705 | Skapades: 2008-12-08 16:04:36

JS anroppar en webbsida med information, i detta fall json data, och bearbetar den och visar på klientsidan.

Kan man inte läsa och förstå min kod, kan man inte programmera - Christher Lenander
ID: #13707 | Skapades: 2008-12-08 16:17:33

pbf
pbf

Gradering

#13708

1) Innebär en parameteriserad lösning problem?
2) Går det inte att anropa min web service med JavaScript och sen bara ha en Success()-funktion där man lägger din kod?

Det sistnämnda bör ju vara det lättaste och snabbaste sättet, då är det även definitivt att en parameteriserad lösning fungerar.

life is short, enjoy it!
ID: #13708 | Skapades: 2008-12-08 16:25:27

voigtan
voigtan

Gradering

#13710

1. Allt du gör i ServerSide är ju en prestanda problem, att köra en statisk sida är ju alltid en statisk sida. Men är det relevant, det är ju bara att testa.

2. Kolla vad din Webservice+js kod retunera, om den retunera ett JSON objekt så kan du ju alltid arbeta med den. Att ge en .NET kod som fungera specifikt för dig är inte alltid intressant det som är intressant är ju datan AJAX/JSON/whatever retunera så man ser den faktista datan man har att jobba med.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #13710 | Skapades: 2008-12-08 16:38:41

Du måste fortfarande ha en url till din webservice som returnerar ett json object.

Kan man inte läsa och förstå min kod, kan man inte programmera - Christher Lenander
ID: #13711 | Skapades: 2008-12-08 16:41:29

pbf
pbf

Gradering

#13722

Jag skapade en Generic Handler som returnerade min JSON-sträng i en jQuery.ajax-request istället, mycket smidigare. Sen formatterade jag strängen med koden ice gav mig. Resultat? Perfektion.

life is short, enjoy it!
ID: #13722 | Skapades: 2008-12-09 16:55:50
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy