Путаница из-за разбора зацикливания json с jQuery - PullRequest
0 голосов
/ 02 февраля 2011

Просто интересно, может ли кто-нибудь помочь мне с какой-то проблемой, у меня есть анализ данных JSON.Я начну со спина JSON, я не буду включать все его (JSON также действителен):

"X_bizCardServiceLinks": [
    {
        "name": "blogs",
        "js_eval": "generalrs.label_personcard_blogslink",
        "href": "https:\/\/dc3-epag-03.tm-gnet.com\/blogs\/roller-ui\/blog\/dbb8fac0-42e4-102e-9409-b38b9530f95e"
    },
    {
        "name": "quickr",
        "js_eval": "generalrs.label_personcard_quickrlink",
        "href": "https:\/\/dc3-epag-03.tm-gnet.com\/quickr\/allfiles\/people\/Jonathan.Popoola@trinitymirror.com"
    },
    {
        "name": "profiles",
        "js_eval": "generalrs.label_personcard_profilelink",
        "href": "https:\/\/dc3-epag-03.tm-gnet.com\/profiles\/html\/simpleSearch.do?searchFor=dbb8fac0-42e4-102e-9409-b38b9530f95e&searchBy=userid"
    },
    {
        "name": "activities",
        "js_eval": "generalrs.label_personcard_activitieslink",
        "href": "https:\/\/dc3-epag-03.tm-gnet.com\/activities\/service\/html\/mainpage#dashboard%2Cmyactivities%2Cuserid%3Ddbb8fac0-42e4-102e-9409-b38b9530f95e%2Cname%3DJonathan Popoola"
    },
    {
        "name": "dogear",
        "js_eval": "generalrs.label_personcard_dogearlink",
        "href": "https:\/\/dc3-epag-03.tm-gnet.com\/dogear\/html?userid=dbb8fac0-42e4-102e-9409-b38b9530f95e"
    },
    {
        "name": "communities",
        "js_eval": "generalrs.label_personcard_communitieslink",
        "href": "https:\/\/dc3-epag-03.tm-gnet.com\/communities\/service\/html\/allcommunities?userid=dbb8fac0-42e4-102e-9409-b38b9530f95e"
    },
    {
        "name": "wikis",
        "js_eval": "generalrs.label.personcard.wikislink",
        "href": "https:\/\/dc3-epag-03.tm-gnet.com\/wikis\/home\/search?uid=dbb8fac0-42e4-102e-9409-b38b9530f95e&name=Jonathan Popoola"
    },
    {
        "name": "files",
        "js_eval": "generalrs.label_personcard_fileslink",
        "href": "https:\/\/dc3-epag-03.tm-gnet.com\/files\/app\/person\/dbb8fac0-42e4-102e-9409-b38b9530f95e"
    }
],

Мне нужно получить доступ к каждому дочернему элементу «X_bizCardServiceLinks» и сохранитьимя и ссылка на переменную - я могу вернуть все отдельные дочерние элементы, но не нацелить каждого дочернего элемента отдельно - я использую следующий код:

$.each(response.X_bizCardServiceLinks, function(){
            $.each(this, function(n, v){
                var random = n;
                var anotherRandom = v;
                console.log(v); 
                //$("#linkTable tr").append("<td><a href=\""+ this.href +"\">"+ this.name +"</a>");
            });

        });

Ответ - это JSON, но сохраняется, любая помощьБуду очень признателен, спасибо заранее,

Ответы [ 3 ]

0 голосов
/ 02 февраля 2011

Вы используете функцию обратного вызова, которая вызывается для каждого элемента каждой функции.К сожалению, вы не указали параметр, который можно использовать для доступа к отдельному элементу в функции обратного вызова.

Поэтому вместо $ .each (response.X_bizCardServiceLinks, function () {вы должны использовать $ .each (response.X_bizCardServiceLinks, function (index, el) {и может затем получить дочерние элементы с el.name и el.href.

См. API jQuery для каждой функции по адресу http://api.jquery.com/each/

$.each(response.X_bizCardServiceLinks, function(index, el){
    $.each(this, function(n, v){
        $("#linkTable tr").append("<td><a href=\""+ el.href +"\">"+ el.name +"</a>");
    });
});
0 голосов
/ 02 февраля 2011

Вы слишком стараетесь

$.each(response.X_bizCardServiceLinks, function(){
    var name = this.name;
    var href = this.href;            
    console.log(name, href);
});

http://jsfiddle.net/F8XPM/

0 голосов
/ 02 февраля 2011
$.each(response.X_bizCardServiceLinks, function(index, elem) {
    // elem.name
    // elem.href
});

'"X_bizCardServiceLinks": []'

В любом случае выглядит неверным JSON.Он должен быть заключен в { }:

'{"X_bizCardServiceLinks": []}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...