Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z JSON
krzychu0808
post 23.12.2012, 12:26:13
Post #1





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


Witam...
Mam problem z decode w JSON dostaję dane w takiej dziwnej postaci:

  1. $test = '[1,{"1":{"a":"1","b":3},{"a":"34","b":2344}},{"2":{"a":"1","b":3},{"a":"34","b":2344}},{"3":{"id":0,"text":"abc"},"70":{"id":4,"text":"abc"}}]';
  2. $json = json_decode($test,true);


Jak się odwołać do elementów a,b,id. Szukałem w google ale tak dziwnego przykładu nie znalazłem i czy to w ogóle jest poprawny format JSON.

Sorki za dział miało iść do przedszkola.

Ten post edytował krzychu0808 23.12.2012, 12:32:18
Go to the top of the page
+Quote Post
Mlodycompany
post 23.12.2012, 12:33:26
Post #2





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


skorzystaj sobie z var_dump() a dowiesz się jak dostać się do konkretnego elementu
Go to the top of the page
+Quote Post
zegarek84
post 23.12.2012, 12:35:19
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


nie jest to poprawny format, można to było nawet w konsoli js sprawdzić - poprawny format jest naturalnym sposobem zapisu danych w JS... "[1,{"1":{"a":"1","b":3}," za tym masz już błąd, nie masz zdefiniowanego klucza, lub zamiast przecinka powinna być klamra domykająca...


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
szok
post 23.12.2012, 12:39:36
Post #4





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Twój ciąg JSON nie jest poprawny, metoda json_last_error zwraca: JSON_ERROR_SYNTAX

Czyli błąd składni JSON'a


--------------------
Go to the top of the page
+Quote Post
krzychu0808
post 23.12.2012, 13:01:30
Post #5





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


Przepraszam was bardzo źle przeanalizowałem dokładnie wygląda to tak:
  1. $test = '[1,{"1":{"1":{"a":"1","b":3},"3":{"a":"34","b":2344}}},{"3":{"id":0,"text":"abc"}}]';
  2. $json = json_decode($test,true);
  3. echo var_dump($json);


var_dump zwraca:
  1. array(3) { [0]=> int(1) [1]=> array(1) { [1]=> array(2) { [1]=> array(2) { ["a"]=> string(1) "1" ["b"]=> int(3) } [3]=> array(2) { ["a"]=> string(2) "34" ["b"]=> int(2344) } } } [2]=> array(1) { [3]=> array(2) { ["id"]=> int(0) ["text"]=> string(3) "abc" } } }


Udało się odwołać:
  1. echo $json[1][1][1]['b'];


Dziękuję wszystkim za pomoc

Ten post edytował krzychu0808 23.12.2012, 13:09:13
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 Wersja Lo-Fi Aktualny czas: 25.04.2024 - 00:37