Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> przetwarzanie JSON w jQuery
sunpietro
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

Ostrzeżenie: (0%)
-----


ostatnio męczę się z JSONem w jQuery i zastanawia mnie jak przetworzyć taki plik JSON:
Kod
[
        {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#type" },
            "obj":{ "uri":"http:\/\/www.w3.org\/2002\/07\/owl#Thing" }
        }, {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#type" },
            "obj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#biznes" }
        }, {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#type" },
            "obj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#obiekt" }
        }, {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.strona.pl\/plik.owl#nr_budynku" },
            "obj":{ "label":"107", "lang":null, "dtype":"http:\/\/www.w3.org\/2001\/XMLSchema#string" }
        }, {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.strona.pl\/plik.owl#nazwa_obiektu" },
            "obj":{ "label":"Silesia City Center", "lang":null, "dtype":"http:\/\/www.w3.org\/2001\/XMLSchema#string" }
        }, {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.strona.pl\/plik.owl#opis_obiektu" },
            "obj":{ "label":"Silesia City Center jest idealnym miejscem zakup\u00f3w, spotka\u0144 towarzyskich i sp\u0119dzania wolnego czasu. To najwi\u0119ksze centrum handlowo-rozrywkowe na \u015al\u0105sku i w Zag\u0142\u0119biu.\n\nDoskonale zlokalizowane, nowoczesne, komfortowe i funkcjonalne, z przestrzennymi parkingami, a przede wszystkim bezkonkurencyjn\u0105 ofert\u0105 250 sklep\u00f3w, punkt\u00f3w handlowo-us\u0142ugowych, kawiarni i restauracji.\n\nW Silesia City Center na pow. 65 000 m kw. znajduj\u0105 si\u0119 salony presti\u017cowych i unikalnych w regionie marek, salon z najszersz\u0105 na rynku ofert\u0105 elektroniki u\u017cytkowej SATURN, a tak\u017ce ca\u0142odobowy market TESCO.", "lang":null, "dtype":"http:\/\/www.w3.org\/2001\/XMLSchema#string" }
        },    {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.strona.pl\/plik.owl#hasWydarzenie" },
            "obj":{ "uri":"http:\/\/www.emiasto.pl\/emiasto.owl#zaszczep_sie_w_kleszczobusie" }
        },    {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.strona.pl\/plik.owl#isTypBiznes" },
            "obj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#centrum_handlowe" }
        },    {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.strona.pl\/plik.owl#hasWydarzenie" },
            "obj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#honorowo_oddaj_krew" }
        },    {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.strona.pl\/plik.owl#hasMiasto" },
            "obj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#katowice" }
        },    {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.strona.pl\/plik.owl#isObiektOf" },
            "obj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#katowice" }
        },    {
            "subj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#silesia_city_center" },
            "pred":{ "uri":"http:\/\/www.strona.pl\/plik.owl#hasUlica" },
            "obj":{ "uri":"http:\/\/www.strona.pl\/plik.owl#ul._chorzowska" }
        }
]


próbuję użyć taki kod:
Kod
$(function()
{
    $(document).ready(function()
    {
        $.getJSON("json.text",function(data)
        {
            $.each(data.subj, function(i,data)
            {
                var div_subj =
                "<div><a href='"+data.uri+"'>"+data.uri+"</a></div>";
                $(div_subj).appendTo("#wynik");
            });
            $.each(data.pred, function(i,data)
            {
                var div_pred =
                "<div><a href='"+data.uri+"'>"+data.uri+"</a></div>";
                $(div_pred).appendTo("#wynik");
            });
            $.each(data.obj, function(i,data)
            {
                var div_obj =
                "<div>"+data.label+"</div>";
                $(div_data).appendTo("#wynik");
            });
        }
    );
    return false;
});
});


Ale nic nie działa. Co tu jest źle zrobione?


--------------------
Go to the top of the page
+Quote Post
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ale co jest źle, bo wszystko to dość obszerne zagadnienie. FireBug milczy? czy nie raczyłeś go użyć? spróbuj.


--------------------
Go to the top of the page
+Quote Post
sunpietro
post
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

Ostrzeżenie: (0%)
-----


po prostu się nic nie dzieje, dla zupełnie inaczej zbudowanego JSONa działa ten skrypt.
Wtedy nie powtarzam metody $.each() tylko wykorzystuję raz.
Z debugowania w Firebugu nie korzystałem, bo nie do końca wiem jak.

----------------------------------

Udało się zdebugować. Wychodzi na to, że JSON jest błędny. Jak go można poprawić?

Ten post edytował sunpietro 8.04.2010, 12:43:18


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Trochę Ci się pomieszało. Zrób jedną pętlę, a nie dwie:

[JAVASCRIPT] pobierz, plaintext
  1. $.getJSON("json.text",function(data)
  2. {
  3. $.each(data, function(i,d)
  4. {
  5. $(this).subj;
  6. $(this).pred;
  7. $(this).obj;
  8.  
  9. }
  10. }
[JAVASCRIPT] pobierz, plaintext


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:56