次のコードでは、jsonからデータを抽出しようとしましたが、エラーはほとんど発生しませんでした。以前の投稿では、誰かが閉鎖問題に関連していると言いました。誰も、なぜこの問題がまだ起こっているのか説明してもらえますか?私はすでに "var"を両方のループで "let"に変更していますか?ネストされたJsonデータからデータを取得できません
私はバインドソリューションを試してみたいと思いますが、私はそのステップを理解していません。これは、jsonファイルのforループ配列を参照しているためです。
function displayData(data) {
var json = JSON.parse(data);
alert (json.projects[0].task_data[1].taskName); //working
for (let i = 0; i < json.projects.length; i++) {
$.ajax({ url: epridlist, method: 'GET' }).then(function (datas) {
alert (json.projects[i].projName); //success load the value
});
for (let j = 0; j < json.projects[i].task_data.length; j++) {
$.ajax({url: tasklist,method: 'GET'}).then(function (data)
{alert (json.projects[i].task_data[j].taskName);});//success only on first row, next row value is undefined
alert (json.projects[0].task_data[1].taskName); //undefined
}
}
}
これは、あなたのJSONデータがinconsitant構造を持っているようだ
{"projects":[{"projName":"1","task_data":[{"taskName":"1","task_detail_data":[{"h_sun":"0.00","h_mon":"0.00","h_tue":"0.00","h_wed":"0.00","h_thu":"0.00","h_fri":"0.00","h_sat":"0.00"}]},[{"taskName":"2","task_detail_data":[{"h_sun":"0.00","h_mon":"0.00","h_tue":"0.00","h_wed":"0.00","h_thu":"0.00","h_fri":"0.00","h_sat":"0.00"}]}]]},{"projName":"2","task_data":[{"taskName":"3","task_detail_data":[{"h_sun":"0.00","h_mon":"0.00","h_tue":"0.00","h_wed":"0.00","h_thu":"0.00","h_fri":"0.00","h_sat":"0.00"}]}]}]}
おかげ
おかげさまで、あなたの答えは私のjsonファイルが間違っていることを理解させてくれます。この問題はすべてこの問題につながります – silentHijab
解決策を探してください。 –