2

私はRhinoを初めて使用します。私の質問は、次のことを達成する方法に関するものです。

Java内で使用できる次のようなJavaScriptオブジェクトがあるとします。

var myObject = new Object();
myObject.string1 = "Hello";
myObject.string2 = "World";
myObject.int1 = 1;

しかし、動的な場合、Java内でこれをどのように消費しますか。たとえば、javascript 内でこのオブジェクトにさらにいくつかのメンバーを動的に追加することにした場合。これは実行可能ですか?私の推測では、Java 内で定義されたクラスは、これを行うためにすべての可能なメンバーを考慮に入れる必要がありますか?

うまくいけば、私が何を正しく達成しようとしているのかを説明できました。

4

2 に答える 2

4

JavaScript オブジェクトは、Java でアクセスする場合、本質的にはすべて同じクラスです:インターフェイス(GitHub ソース)ScriptableObjectを実装します。関数やその他の特殊なオブジェクト用のクラスが他にもいくつかあります。Scriptable

Scriptableインターフェイスには、JavaScriptの 、、 にほぼ対応するgethas、 などのメソッドが含まれています。クラスは、プロパティなどを定義するための他のいくつかの便利なメソッドを追加します。putmyObject.string1myObject.hasOwnProperty("string1")myObject.string1 = "Hello"ScriptableObject

于 2013-09-02T01:21:06.957 に答える
0

JavaScript オブジェクトを Java に変換するには、GSON などのライブラリを使用することを検討してください。

https://code.google.com/p/google-gson/

JSON.stringify を使用して JavaScript オブジェクトを JSON に変換できます

次に、GSON などの別のライブラリを使用して Java オブジェクトを生成します。

于 2013-09-01T23:41:19.607 に答える