2012-05-09 32 views
1

Repoフォルダでの長い検索の後、Android用rhino1_7R2.jarが見つかりました。http://code.google.com/p/android-scripting/source/browse/rhino/rhino1_7R2.jar残念ながら1_7R3はありません。Android、Javascript、Rhino、JSON

私が使用しているスクリプトは、1_7R2に存在しないJSON.stringify関数を使用しています。 Rhino用のJSON2.jsファイルがありますが、実行時にロードする適切な方法がわかりません。ドキュメントとサンプルコードは弱いです。私はそれを文字列としてロードし、実行中のスクリプトの前に付けるべきですか?それとも良い方法がありますか?

JavaScriptを使用してループ内のいくつかの計算を動的に評価しています。 JavaScript関数を呼び出すたびに、JSON2.jsの前に置かないようにしたいと思っています。 Rhinoが遅いバージョンでJSONオブジェクトをサポートしていて、誰もAndroidに移植できないことを知りました。サポートがない別のオープンソースプロジェクトのように見えます。

私はあきらめてWebViewメソッドの使用を検討する必要がありますか?何か案は?

答えて

1

私が理解しているように、Rhinoが実行したいJavaScriptスクリプトがいくつかあります。 json2ライブラリを使用することができ、あなたのスクリプトを呼び出すその後

load("/your/path/json2.js"); 

:あなたは別のJavaScriptファイルをロードする場合は、load機能を使用することができます。

var testStr = '{"test" : {"a": "aval", "b" : "bval"}}'; 
var jsonObj = JSON.parse(testStr); 
var a = jsonObj.test.a; 
+0

どのフォルダから読み込みますか? res/assets?私は午前中に最初に試してみるつもりです。ちなみに、私は小さなスクリプトを実行するたびにjson2ファイルをロードするオーバーヘッドのためにWebViewを検討しています。あるいは、私は一度読み込んでコンテキストを再利用すると複雑になるかもしれません。パフォーマンスに関するアイデアや経験も高く評価されます。 –

+0

ロードコールでjson2.jsへのフルパスを指定する必要があります。 json2.jsはかなり小さいです。実際には、そのコンテンツをスクリプトにコピーすることさえ考えられるかもしれません。 –

関連する問題