に、私はそうのようなJSONオブジェクトを持っている:JSON配列
{
"workouts":
[
{
"title": "Full Body",
"exercises":
[
{
"name": "Push Ups",
"duration": 3,
"break": 3
},
{
"name": "Squats",
"duration": 3,
"break": 3
},
{
"name": "Running in Place",
"duration": 3,
"break": 3
}
]
},
{
"title": "God Legs",
"exercises":
[
{
"name": "Running in Place (High Knees)",
"duration": 3,
"break": 3
},
{
"name": "Squats",
"duration": 3,
"break": 3
},
{
"name": "Clams",
"duration": 3,
"break": 3
}
]
},
{
"title": "Morning Stretch",
"exercises":
[
{
"name": "Downward Dog",
"duration": 3,
"break": 3
},
{
"name": "Face Plant",
"duration": 3,
"break": 3
},
{
"name": "Warrior",
"duration": 3,
"break": 3
}
]
}
]
}
私はタイトルをループし、身体にそれらを追加し、今私は "に含まれる各オブジェクトをループしたいことができますそれぞれの値を出力します:名前、継続時間、ブレーク、オブジェクトごと。私は多くの成功を収めているわけではありません。JSONの構造を変更する必要があるのか、自分のループで何かばかげたミスを犯しているのだろうかと思います。私はFirebaseを途中で使用していますが、AJAXコールなどはありません。
はJavaScript:
// Initialize firebase.
firebase.initializeApp(config);
var dbRef = firebase.database().ref().child("workouts");
// Sync with Firebase in real time.
dbRef.on("value", snap =>
{
var workouts = snap.val();
// HAVE A LOOP FOR EVERY ARRAY INJSON.
for (var i = 0; i < workouts.length; i++)
{
window.alert(i + workouts[i].title); // Works fine.
var obj = workouts[i].exercises;
for (obj in workouts)
{
alert(obj.name); // Returns undefined for each object.
}
}
});
[I] .exercises 'VAR OBJ =トレーニングを削除し、'と ''(トレーニングにおけるOBJ [I] .exercises)のための 'と(トレーニングでOBJ)は'置き換えます。私が誤解されていない限り、あなたは 'obj'変数を上書きし、間違った配列をループします。 – powerbuoy
JSONオブジェクトに基づいてUIを実行すると、[Aurelia](http://aurelia.io/)btwのようなものでとてもうれしいです。ちょうど脇に。 – powerbuoy