Wczytanie dwóch plików JSON i wywołanie funkcji w JS

0

Mam problem z JSON-em i łączeniu tego z js.

Otóż mam 2 plik JSON. Jeden generuje część danych:

["-36,-10","-39,9","49,-35","2,28","19,-45","9,-28","31,43","-47,43","7,21","-28,12","-18,5","-10,-20"]

, a drugi dane rozszerzone :

[{"0":"1","id":"1","1":"Methven","name":"Methven","2":"-36","x":"-36","3":"-10","y":"-10","4":"m","size":"m","5":"11630","companyno":"11630","6":"126220","population":"126220"},{"0":"2","id":"2","1":"Blackball","name":"Blackball","2":"-39","x":"-39","3":"9","y":"9","4":"s","size":"s","5":"3266","companyno":"3266","6":"16722","population":"16722"},{"0":"3","id":"3","1":"Balfour","name":"Balfour","2":"49","x":"49","3":"-35","y":"-35","4":"s","size":"s","5":"753","companyno":"753","6":"11691","population":"11691"},{"0":"4","id":"4","1":"Scargill","name":"Scargill","2":"2","x":"2","3":"28","y":"28","4":"s","size":"s","5":"1224","companyno":"1224","6":"37707","population":"37707"},{"0":"5","id":"5","1":"Hukarere","name":"Hukarere","2":"19","x":"19","3":"-45","y":"-45","4":"l","size":"l","5":"23972","companyno":"23972","6":"306305","population":"306305"},{"0":"6","id":"6","1":"Queensberry","name":"Queensberry","2":"9","x":"9","3":"-28","y":"-28","4":"s","size":"s","5":"3917","companyno":"3917","6":"48202","population":"48202"},{"0":"7","id":"7","1":"Dunedin","name":"Dunedin","2":"31","x":"31","3":"43","y":"43","4":"s","size":"s","5":"1307","companyno":"1307","6":"27734","population":"27734"}]

I teraz potrzebuję wczytać do zmiennych typu array te dane i wykorzystać je w funkcji JS.

function MojaFunkcja(JSON1,JSON2) {

// ciało funkcji

}
1

no i z czym konkretnie masz problem? co udało Ci się zrobić? JSON.parse nie znasz?

0
dzek69 napisał(a):

no i z czym konkretnie masz problem? co udało Ci się zrobić? JSON.parse nie znasz?

No niby ok, ale najpierw muszę wczytać do zmiennej dane z plików (to jakoś tak):

 $.getJSON("../json1.php",{},function(data) {
        for(var i in data) {
          var JSON1[i]=data[i];
        }
      });

ale później chciałbym przekazać tablicę JSON1 do mojej funkcji (patrz post pierwszy).

No i nie przekazuje.

0

Poczytaj sobie co to jest "asynchroniczność" oraz "callbacki".

Mówiąc inaczej - zapewne wywołujesz dwa getJSON - one tworzą nowy wątek i w tle wysyłane jest żądanie. W trakcie, jak żądanie jeszcze leci to zapewne próbujesz wywołać funkcję, podając za parametry zmienne, które dopiero po otrzymaniu odpowiedzi będą wypełnione danymi, a póki co są puste.

Musisz zmodyfikować kod tak, żeby dopiero po otrzymaniu obu odpowiedzi - wywołać funkcję, która zbiera dane do kupy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1