Ich versuche, ausgewählte Daten aus dem Google-Kalender zu extrahieren, um sie in einem Formular mit ng-repeat auf der Clientseite anzuzeigen. Auf Sever Seite, ich bin nicht in der Lage aufgrund der Daten durchlaufen zu Unverständnis von verschachteltenGoogle Kalender verschachtelte JSON - Eigenschaft 'Länge' von undefined nicht lesen
Vereinfachte Kalender JSON
const calendarList = {
items: [{
summary: 'ABC',
start: [{ datetTime: '2017-12-10T01:40:18.000Z'}],
attendees: [{ displayName: 'John'}]
},
{
summary: 'DEF',
start: [{ datetTime: '2017-12-11T01:40:18.000Z'}],
attendees: [{ displayName: 'Jane'}, { displayName: 'Mary'}]
}]
};
Die erste Schicht ist auf Artikel innerhalb des Objekts zu erhalten, von Artikel, Auszug Zusammenfassung, Start (dateTime) und Teilnehmer (displayName). Es besteht die Möglichkeit, mehrere Teilnehmer
console.log(calendarList.items[0].summary); //ABC
console.log(calendarList.items[0].start.dateTime); //2017-12-10T01:40:18.000Z
console.log(calendarList.items[0].attendees[0].displayName); //John
Zuerst habe ich das Objekt Array konvertieren, von dort ich Artikel zugreifen können
var calendararray = Object.keys(calendarList)
console.log(calendararray)
// [ 'kind',
// 'etag',
// 'summary',
// 'updated',
// 'timeZone',
// 'accessRole',
// 'defaultReminders',
// 'nextSyncToken',
// 'items' ]
Von Artikel Ich schrieb eine for-Schleife und das ist, wo es hat nicht funktioniert. Die Fehlermeldung ist kann nicht Eigenschaft ‚Länge‘ undefinierter
for(var i = 0; i < calendararray.items.length; i++)
{
var items = calendarList.items[i];
newGcal.summary += items.summary;
newGcal.datetime += items.start.datetime;
for(var j = 0; j < items.attendees.length; j++)
{
var attendees = items.attendees[j];
newGcal.attendees += attendees.displayName;
}
}
Ich habe console.log calendararray.items [0] und es gibt eine Liste mit Zusammenfassung, starten und lesen Teilnehmer
console.log(calendararray.items[0])
[ 'kind',
'etag',
'id',
'status',
'htmlLink',
'created',
'updated',
'summary',
'description',
'location',
'creator',
'organizer',
'start',
'end',
'iCalUID',
'sequence',
'attendees',
'guestsCanInviteOthers',
'privateCopy',
'reminders' ]
Bitte jede Hilfe oder Beratung
Statt für (var i = 0; i
cdoshi
Dies funktioniert nicht @ Cdoshi, weil calendarList ein Objekt ist, so wird es die Länge zurückgeben ist undefined – miintea