j2js : Global
Mit der Skripteinbindung j2js können Sie Java-Objekte in JavaScript-Objekte konvertieren.
Wenn der angegebene Wert ein Java-Objekt ist, das in ein entsprechendes JavaScript-Objekt konvertiert werden kann, wird diese Konvertierung durchgeführt und das Ergebnis zurückgegeben. Andernfalls wird das ursprüngliche Java-Objekt zurückgegeben.
Die j2js-Klasse ist für serverseitige Skripts verfügbar.
Die spezifische Konvertierung, durchgeführt in der Reihenfolge, in der sie geprüft werden.
- Java String -> JavaScript-Zeichenfolge
- Java Boolean -> boolean JavaScript-Wert
- Java Integer -> JavaScript-Zahl
- Java Long -> JavaScript-Zahl
- Java Double -> JavaScript-Zahl
- Java Byte -> JavaScript-Zahl
- Java Float -> JavaScript-Zahl
- Java Short -> JavaScript-Zahl
- Java Character -> JavaScript-Zahl
- Java Array -> JavaScript-Array mit beibehaltener Reihenfolge
- Java List -> JavaScript-Array mit beibehaltener Reihenfolge
- Java Map -> JavaScript-Objekt mit Schlüssel-Wert-Paaren, die in Eigenschaft-Wert-Paare übersetzt werden
- Java Set -> JavaScript-Array in zufälliger Reihenfolge
Konvertierungen werden rekursiv für die Elemente von Arrays, Listen oder Sammlungen ausgeführt. Beispiel: Bei einer Java-ArrayList von ArrayLists mit Zeichenfolgen wird ein JavaScript-Array von Arrays mit Zeichenfolgen zurückgegeben.
j2js – j2js(Object javaObject)
Konvertiert ein Java-Objekt aus Systemcode in ein JavaScript-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| JavaObject | Objekt | Ein Java-Objekt aus Systemcode, z. B. ein Packages-Aufruf. |
| Typ | Beschreibung |
|---|---|
| Objekt | Ein JavaScript-Objekt, wenn der Parameter konvertiert werden kann, andernfalls wird das Java-Objekt zurückgegeben. |
var tu = new TableUtils("cmdb_ci_win_server");
var classes = tu.getHierarchy();
//getHierarchy returns a Java ArrayList, which is not exactly like a JavaScript Array
//for example you cannot get length
gs.print("classes = " + classes);
gs.print("classes.length = " + classes.length);
//convert to a JavaScript Array
gs.include("j2js");
var jsClasses = j2js(classes);
gs.print("jsClasses = " + jsClasses);
gs.print("jsClasses.length = " + jsClasses.length);
Ausgabe:
classes = [cmdb_ci_win_server, cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci]
classes.length = undefined
jsClasses = cmdb_ci_win_server,cmdb_ci_server,cmdb_ci_computer,cmdb_ci_hardware,cmdb_ci
jsClasses.length = 5