2011-02-02 27 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