jquery
2016-07-07 106 views -5 likes 
-5

我需要用下面的代碼幫助檢索數據:無法從對象

<div id="divResult"></div> 
$(document).ready(function() { 
    var jsonString = '{"Fakir":{"firstName":"Bharat","lastName":"Tiwari","gender":"Male","salary":50000},"Pagal":{"firstName":"Nanu","lastName":"Pagal","gender":"Male","salary":90000}}'; 
    var employeeJSON = JSON.parse(jsonString); 
    var result = ''; 

    $.each(employeeJSON.Fakir,function(i, item){ 
     result += item['firstName']+"<br>"; 
     /*result += item.lastName + "<br>"; 
     result += item.gender + "<br>"; 
     result += item.salary + "<br> <br>";*/ 
    }); 
    $("#divResult").html(result) 
}) 
$("#divResult").html(result) 

我得到的輸出是undefined。請幫我找一個解決方案?爲什麼我沒有獲取數據?

+1

你可以好心編輯你的問題有意義嗎?查看[問]頁面並通過[旅遊]瞭解更多詳情。 –

回答

1

employeeJSON而不是employeeJSON.Fakir

$(document).ready(function() { 
 
    var jsonString = '{"Fakir":{"firstName":"Bharat","lastName":"Tiwari","gender":"Male","salary":50000},"Pagal":{"firstName":"Nanu","lastName":"Pagal","gender":"Male","salary":90000}}'; 
 

 
var employeeJSON = JSON.parse(jsonString); 
 
var result = ''; 
 
$.each(employeeJSON,function(i,item){ 
 
    result += item['firstName'] + "<br>"; 
 
    result += item.lastName + "<br>"; 
 
    result += item.gender + "<br>"; 
 
    result += item.salary + "<br> <br>"; 
 
    }); 
 
    $("#divResult").html(result) 
 
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="divResult"> </div>

+0

由OP判斷他們正試圖獲得'firstname','lastname','薪水'等屬性,而不是員工姓名 –

+0

感謝您的建議。編輯回答(只需取消註釋某些代碼) – Roxoradev

1

由於對象的Fakir屬性本身就是一個對象,傳遞給each()處理函數的參數將成爲對象中屬性的鍵和值。因此,你可以將它們直接串聯字符串,像這樣:

$.each(employeeJSON.Fakir, function(k, v) { 
    result += v + "<br>"; 
}); 

Working example

+0

先生謝謝你如果我需要得到像(Fakir,Pagal)和它的數據的所有對象,如何修改。 –

+0

很高興幫助。要做到這一點,你需要兩個循環。一個要通過每個級別的對象,像這樣:https://jsfiddle.net/RoryMcCrossan/dvu21zs3/ –

0

。在你的jsonString沒有數組變量。你爲什麼試圖迭代這個對象?

您可以這樣做,如下所示;

$(document).ready(function() { 
    var jsonString = '{"Fakir":{"firstName":"Bharat","lastName":"Tiwari","gender":"Male","salary":50000},"Pagal":{"firstName":"Nanu","lastName":"Pagal","gender":"Male","salary":90000}}'; 

    var employeeJSON = JSON.parse(jsonString); 
    var result = ''; 
    var item = employeeJSON.Fakir; 
    result += item['firstName']+"<br>"; 
    result += item.lastName + "<br>"; 
    result += item.gender + "<br>"; 
    result += item.salary + "<br> <br>"; 

    $("#divResult").html(result) 
}); 
+1

jQuery的'each()'方法相當寬容,因爲它可以愉快地遍歷對象的屬性。以我的答案爲例。 –

+0

$ .each(employeeJSON.Fakir,function(k,v){ result + = v +「
」; }); 它的好先生,但如果我只使用employeeJSON並希望像對象和它的元素的所有數據我怎麼能編寫簡單的代碼來找到所有嵌套的數據和明智的對象。 –

相關問題