Liebe(r) hawkmaster1,
Hallo,
destinationSetting ist ein Array:
scanOptions.jobSetting.destinationSetting = [ {
ja ok, aber angenommen es ist befüllt wie spricht man dann den Inhalt an ? Also z.b. entryID ?
dieses Array, wenn es vorhanden ist, enthält laut Deinem Code genau ein Objekt:
scanOptions.jobSetting.destinationSetting = [ { "destinationType": "book", "addressbookDestinationSetting": { "destinationKind": "folder", "entryId": $( 'input[name="folder"]:checked' ).val() } } ];
Dieses Objekt kann als erstes Array-Element so erreicht werden:
if (scanOptions.jobSetting.destinationSetting instance of Array
&& scanOptions.jobSetting.destinationSetting.length > 0
) {
// ...
}
Obiger Code prüft, ob scanOptions.jobSetting.destinationSetting tatsächlich ein Array ist, und ob das Array mindestens ein Element enthält.
Nun kann man das Objekt mit dem Array-Index 0 ansprechen:
if (scanOptions.jobSetting.destinationSetting instance of Array
&& scanOptions.jobSetting.destinationSetting.length > 0
) {
var dS = scanOptions.jobSetting.destinationSetting[0];
console.dir(dS); // debug-Ausgabe der Objektstruktur auf der JS-Konsole des Browsers
}
Da in Deinem Code die Objekt-Struktur genau eine Eigenschaft "destinationType" mit String-Wert und eine Eigenschaft "addressbookDestinationSetting" mit Objekt-Wert kennt, kannst Du diese nun direkt ansprechen:
if (scanOptions.jobSetting.destinationSetting instance of Array
&& scanOptions.jobSetting.destinationSetting.length > 0
) {
// short form for easier reading
var dS = scanOptions.jobSetting.destinationSetting[0];
// dS.destinationType (string)
console.log("destinationType: " + dS.destinationType);
// dS.addressbookDestinationSetting (object)
console.dir(dS.addressbookDestinationSetting);
// properties of dS.addressbookDestinationSetting
console.log("destinationKind: " + dS.addressbookDestinationSetting.destinationKind);
console.log("entryId: " + dS.addressbookDestinationSetting.entryId);
}
Liebe Grüße,
Felix Riesterer.