2

Rhino で Javacript を使用しており、外部をインポートできません (ただし、java.lang と java.util にはアクセスできます)。そのため、オブジェクトの JSON を出力する toString() を探しています。

MyOjbect.prototype.toString = function() {  /* magically emits JSON of MyObject */ }

これを最初から書いてもかまいませんが、これが既に存在する場合は、時間を節約できます。これは、カスタム オブジェクトのログにデバッグ ダンプを記録するためだけのものです。

編集:Rhinoの古いバージョン、更新はオプションではありません。stringify() はありません。

4

2 に答える 2

3

で試しましたJSON.stringify()か?Rhinoにも存在するはずです。

于 2012-10-18T13:24:29.667 に答える
1

JSON.stringify(MyObject) でうまくいくはずです。この関数がない場合は、interwebs で json2.js を探してください。

リンク: https://github.com/douglascrockford/JSON-js

オブジェクト内に入れたい場合は、次のような関数を追加できます。

MyObject.prototype.toString= function () {
    return JSON.stringify(this);
}

これを行うことで、オブジェクトのサブセットを構築し、オブジェクト プロトタイプ自体の代わりにそれを文字列化できます。

MyObject.prototype.toString = function () {
    var subset = {
    ...
    }
    return JSON.stringify(subset);
}

これは、.js ファイルを rhino スクリプトに追加する方法に関する投稿です。

jsonライセンスから: このソフトウェアおよび関連するドキュメント ファイル (「ソフトウェア」) のコピーを取得するすべての人に、使用する権利を含むがこれに限定されないソフトウェアを制限なく取り扱う許可が無償で付与されます。以下の条件に従って、ソフトウェアのコピーをコピー、変更、マージ、公開、配布、サブライセンス、および/または販売し、ソフトウェアが提供された人にそのようなことを許可すること:

上記の著作権通知およびこの許可通知は、ソフトウェアのすべてのコピーまたは実質的な部分に含まれるものとします。

ソフトウェアは、悪ではなく、善のために使用されるものとします。

于 2012-10-18T13:24:47.310 に答える