私は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"}
};
そして、私はこれを行う関数に渡している:Firebugの中
for (var col in columnData) {
r += '<td><input type="text" name="col' + col.ColumnId + '" value="' + col.Heading + '" /></td>'
}
ブレークポイントは、columnDataは、有効なオブジェクトであることを確認しますそれには3つのサブオブジェクトがあり、サブオブジェクトには期待されるプロパティと値があります。しかし、これは関数が呼び出された後、私は取得しています出力されます:
<td><input name="colundefined" value="undefined" type="text"></td>
残念ながら、私はJSONとの経験の私の不足が使用不能に答えを追跡するために私の試みの結果を作っていると思います。 columnDataのサブオブジェクトを正しく取得するループを作成するにはどうすればよいですか?これを行う
columnData[col].ColumnId
Hmはオブジェクトリテラルのようです。 JSONはどこですか? –
それは?私はJSONとJavascriptオブジェクトの違いを知るだけの十分な知識はないと思う。私は他のJSONの質問から構文を得ました。いずれにしても、動作する限り、技術的にJSONかどうかは気にしません。 – William
JavaScriptに関しては、(サーバーからの)外部の '.json'ファイルからJSONが文字列として取り出され、' JSON.parse'を介してJavaScriptオブジェクトに解析されます。一方、 'var obj = {...};'がある場合、これはオブジェクトリテラルであり、JSONとは関係ありません。 –