我想弄清楚我與JSON和循環通過子對象的問題。我以前從未使用過JSON,因此如果語法錯誤導致我的問題,請告訴我。JSON循環通過子對象
我定義這個JSON對象:
var columnData = {
"obj1":{Heading: "Test 1", Required: "True", DataTypeCode:"str", DropDownOptions: "", ColumnId: "1"},
"obj2":{Heading: "Test 2", Required: "False", DataTypeCode:"dropdown", DropDownOptions: "Alpha,Beta,Gamma,Delta", ColumnId: "2"},
"obj3":{Heading: "Test 3", Required: "True", DataTypeCode:"int", DropDownOptions: "", ColumnId: "3"}
};
而且我將它傳遞給,做這樣的功能:
for (var col in columnData) {
r += '<td><input type="text" name="col' + col.ColumnId + '" value="' + col.Heading + '" /></td>'
}
在Firebug的斷點確認columnData是一個有效的對象,它有三個子對象,並且子對象具有期望的屬性和值。但是,這是功能後,我得到的輸出稱爲:
<td><input name="colundefined" value="undefined" type="text"></td>
不幸的是,我認爲我缺乏與JSON經驗使我試圖跟蹤答案下來不可用的結果。我如何編寫一個能夠正確獲取columnData的子對象的循環?
嗯,看起來像一個對象文本。 JSON在哪裏? –
是嗎?我想我不太瞭解JSON和Javascript對象,以瞭解其差異。我從其他一些JSON問題中獲得了語法。無論哪種方式,只要它的工作,我真的不在乎,如果它在技術上是JSON或不。 – William
關於JavaScript,JSON是從外部'.json'文件(來自服務器)以字符串形式獲取的,然後通過'JSON.parse'解析爲一個JavaScript對象。另一方面,當你有'var obj = {...};'時,這是一個對象字面值,並且與JSON無關。 –