2011-02-02 28 views
0

只是想知道如果有一個人能幫助我做一些我有解析JSON數據的問題。我將與JSON的尖晶石,我將不包括它的所有啓動(JSON也有效):混淆瞭解析JSON循環使用jQuery

"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\/[email protected]" 
    }, 
    { 
     "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」每個子元素並存儲該名稱和HREF給一個變量 - 我能夠返回所有的兒童個人,但沒有單獨針對每一個孩子 - 我使用下面的代碼:

$.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,但存儲,任何幫助將不勝感激在此先感謝,

回答

0

您正試圖太硬

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

http://jsfiddle.net/F8XPM/

+0

非常感謝你多少會試一試,讓你知道結果 – jonnyhitek 2011-02-02 10:52:05

0
$.each(response.X_bizCardServiceLinks, function(index, elem) { 
    // elem.name 
    // elem.href 
}); 

'"X_bizCardServiceLinks": []' 

無論如何,看起來像無效的JSON。它應包含在{ }

'{"X_bizCardServiceLinks": []}' 
+0

我hav'nt添加了所有JSON只是snipet的 - 使職位更具可讀性 – jonnyhitek 2011-02-02 10:51:24

0

您使用一個回調函數被調用,用於與每個功能的每個元素。不幸的是,你沒有指定一個參數,它可以用來訪問回調函數中的單個元素。所以

代替 $。每個(response.X_bizCardServiceLinks,函數(){ 你會使用 $。每個(response.X_bizCardServiceLinks,函數(指數,EL){ ,然後可以得到與el.name子元素和el.href

請參閱各功能jQuery的API在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

謝謝你,我會試一試,讓你知道結果:-) – jonnyhitek 2011-02-02 10:51:45