2013-08-01 40 views
-1

我想在另一個數組中嵌套數組值。我不明白爲什麼這不起作用:另一個數組值內的數組值

$.getJSON("test.js", function(json){ 

    varservers=["test02","test07","test08","test01","test05"]; 

    for(vari=0;i<servers.length;i++){ 

    var mine=[json.server[0].servers[i][0].version,json.server[0].servers[i][0].SerialNumber,json.server[0].servers[i][0].Manufacturer,json.server[0].servers[i][0].FreePhysicalMemory]; 

$("div").append("<div>Version: "+mine[0]+"</div><div>Serial Number: "+mine[1]+"</div><div>Manufacturer: "+mine[2]+"</div><div>FreePhysicalMemory: "+mine[3]+"</div>"); 
    }; 
}); 

這裏是保存爲js的json格式。它的工作原理,如果我沒有做服務器的陣列:

{ 
"server": [ 
    { 
     "test02": [ 
      { 
       "version": "5.2.3790", 
       "SerialNumber": "69712-640-24775", 
       "Manufacturer": "Microsoft Corporation", 
       "FreePhysicalMemory": "182128" 
      } 
     ] 
    }, 
    { 
     "test07": [ 
      { 
       "version": "5.2.3790", 
       "SerialNumber": "69713-650-26411", 
       "Manufacturer": "Microsoft Corporation", 
       "FreePhysicalMemory": "4101680" 
      } 
     ] 
    }, 
    { 
     "test08": [ 
      { 
       "version": "5.2.3790", 
       "SerialNumber": "69712-650-4015", 
       "Manufacturer": "Microsoft Corporation", 
       "FreePhysicalMemory": "2578328" 
      } 
     ] 
    }, 
    { 
     "test05": [ 
      { 
       "version": "6.1.7601", 
       "SerialNumber": "00477-001-004673", 
       "Manufacturer": "Microsoft Corporation", 
       "FreePhysicalMemory": "744060" 
      } 
     ] 
    }, 
    { 
     "test04": [ 
      { 
       "version": "6.1.7601", 
       "SerialNumber": "00477-001-04534", 
       "Manufacturer": "Microsoft Corporation", 
       "FreePhysicalMemory": "14263600" 
      } 
     ] 
    } 
] 
} 

*這個職位是由其他用戶編輯,以使JSON看起來更可編輯的,但變了,jQuery的編碼長,難以閱讀。我將該代碼改回到之前的狀態。

+3

請向我們展示您收到的'json'。 – cr0

+0

如果沒有發佈錯誤消息和/或json的內容,就不可能說。 – McGarnagle

+6

而不是'json.server [0] .servers [i] [0] .version'我假設你想做'json.server [0] [servers [i]] [0] .version' ...通知'[servers [i]]'而不是'.servers [i]'。這與「json.server [0] .test02 [0] .version」基本相同,其中'test02'每次迭代更新。 –

回答

1

以下是任何遇到同一問題的人的工作代碼。密鑰對以單獨的.js文件存儲在數組中。

$(document).ready(function(){ 
srv=[aus01,aus02,aus03,aus04,aus05]; 
for (i=0;i<srv.length;i++) { 
var y =[srv[i]][0]; 
    for (x in y) { 
$("#lists").append("<div id='" + y[x].Name + "'> \ 
        Server Name:" + y[x].Name + "<br> \ 
        Serial Number:" + y[x].SerialNumber + "<br> \ 
        Version:" + y[x].version + "<br> \ 
        Manufacturer:" + y[x].Manufacturer + "<br> \ 
        Free Physical Memory:" + y[x].FreePhysicalMemory + "<br><br> \ 
        </div>"); 
    }; 
}; 
}); 
相關問題