Разбор вложенных JSON с JQuery - PullRequest
0 голосов
/ 01 июля 2011

Я новичок в JSON и действительно борюсь с этим. Я прочитал множество других постов и веб-страниц, но, похоже, не могу понять это.

Я использую PHP для вывода JSON (из данных из базы данных) с этим кодом:

    header('Content-type: application/json');
    echo json_encode($data);

Вот JSON:

{
    "x0": {
        "id": "1",
        "name": "Rob",
        "online": "1",
        "gender": "m",
        "age": "29",
        "height": "5'8''",
        "build": "Average",
        "ethnicity": "White",
        "description": "Art geek person",
        "looking_for": "Anything",
        "image": "4fs5d43f5s4d3f544sdf.jpg",
        "last_active": "29-06-11-1810",
        "town": "Manchester",
        "country": "UK",
        "distance": 0.050973560712308
    },
    "x1": {
        "id": "2",
        "name": "Dave",
        "online": "1",
        "gender": "m",
        "age": "29",
        "height": "5'8''",
        "build": "Average",
        "ethnicity": "White",
        "description": "Art geek person",
        "looking_for": "Anything",
        "image": "4fs5d43f5s4d3f544sdf.jpg",
        "last_active": "29-06-11-1810",
        "town": "Manchester",
        "country": "UK",
        "distance": 0.050973560712308
    }
}

Я думаю, что у меня проблема в том, что JSON является вложенным (может быть там не так) ?.

Это JQuery:

function fetchProfiles() {
    var url='http://url.com/here';
    var i = 0;
    var handle = 'x'.i;

    $.getJSON(url,function(json){
        $.each(json.results,function(i,profile){
           $("#profiles").append('<p><img src="'+profile.handle.image+'" widt="48" height="48" />'+profile.handle.name+'</p>');
           i++;
        });
    });
}

Любые идеи или предложения приветствуются!

Спасибо!

1 Ответ

3 голосов
/ 01 июля 2011

Я думаю, что проблема в том, что вы называете $ .each на json.results (если json именно то, что вы нам показали).

вы должны сделать:

    $.each(json,function(i,profile){
       $("#profiles").append('<p><img src="'+profile.image+'" widt="48" height="48" />'+profile.name+'</p>');
    });

посмотрите на скрипку здесь: http://jsfiddle.net/ENcVd/1/ (она указывает на свойство изображения вашего объекта json)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...