2012-06-07 16 views
8

Hej Próbuję odczytać dane z pliku JSON z jQuery. To jest mój JS:Przeczytaj plik JSON z jQuery

$(document).ready(function() { 
    var myItems; 

    $.getJSON('testData.json', function(data) { 
     myItems = data.items; 
     console.log(myItems); 
    }); 
}); 

I to jest plik JSON:

{"fname":"rafael","lname":"marques","age":"19"} 
{"fname":"daniel","lname":"marques","age":"19"} 

Kiedy otwieram mój HTML strony w przeglądarce nie widzę nic w konsoli.

+2

I nie widzisz, żebyś ustawił cokolwiek do wyświetlenia. Ale ponieważ istnieje 'console.log', możesz otworzyć konsolę programisty, aby zobaczyć wynik. – nhahtdh

+0

JSON ma zawierać jeden obiekt, a nie dwa. [Użyj JSONlint] (http://jsonlint.org/) do sprawdzenia poprawności. – Blazemonger

+0

może otwarcie konsoli? Naciśnij klawisz F12 – chepe263

Odpowiedz

13

Dodaj przecinek po każdym obiekcie, owinąć następnie [] i zamknięty je z obiektem z własności items w pliku json tak będzie wyglądać

{ 
    items: [ 
    { 
     "fname": "rafael", 
     "lname": "marques", 
     "age": "19"}, 
    { 
     "fname": "daniel", 
     "lname": "marques", 
     "age": "19" 
    }] 
} 

należy spróbować na

$.each(data.items, function(key, val) { 
    alert(val.fname); 
    alert(val.lname); 
}) 
2
{"fname":"rafael","lname":"marques","age":"19"} 
{"fname":"daniel","lname":"marques","age":"19"} 

Nie jest prawidłowym plikiem json. Dodaj przecinek między wierszami lub utwórz w ten sposób:

{items:[ 
    {"fname":"rafael","lname":"marques","age":"19"}, 
    {"fname":"daniel","lname":"marques","age":"19"} 
]} 

w celu spełnienia widocznych wymagań.

Ale otwarcie konsoli, aby spojrzeć na błędy, rozwiązałoby to.