たとえば、次の Json オブジェクトを使用します。
var x = $.parseJSON("[{\"name\":\"bob\",\"age\":\"23\"},{\"name\":\"mary\",\" age\":\"30\"}]");
(すべて気にして\"
ください。一重引用符の使用は好きではありません。どうぞ、私を訴えてください。)
最終的に目指しているのは、Json オブジェクトのデータと構造に基づいて動的に生成された HTML テーブルです (多くの WebForms グリッドの AutoGenerateColumns プロパティを考えてみてください)。ヘッダーを作成するには、各メンバーを繰り返し処理し、メンバー名を使用してヘッダー列を作成します。このように、WebMethod 呼び出しで SQL に列を追加または削除するだけで、テーブルが自動的に更新されます。
解決
このJSはトリックを行います:
var x = $.parseJSON("[{\"name\":\"bob\",\"age\":\"23\"},{\"name\":\"mary\",\"age\":\"30\"}]");
$.each(x, (function (key, value) {
$.each(x[key], function (key2, value2) {
alert(key2 + " " + x[key][key2]);
});
}));
私は JS でループ処理を行ったことがあまりないので、1 つのことが重要でした。.NET では、foreach
ループはコレクション内のオブジェクトを反復処理します。JS ではfor
、インデックスを反復処理するため、なぜx[key][key2]
.