3

JSON-RPC 呼び出しを行うアプレットを作成しています。Google JSON ライブラリ (GSON) を使用して、応答 JSON をクラスにキャストしています。Thsi はそのままでも問題なく動作するようですが、このコードをアプレットで使用すると、java.lang.reflect.reflectpermission. SO のこのスレッドで読んだことから、GSON はリフレクションを使用しているため、セキュリティ ポリシーを明示的に変更しない限り、アプレットで使用できないようです。どうすればこれを回避できますか? アプリケーションで一連のクラスを作成し、Gson.fromJsonメソッドを使用してそれをクラスにキャストしていました。コードの半分を書き直さなくても同じ機能を実現する方法はありますか?

(Java で JSON を処理することの複雑さは別格のようです!)

よろしくお願いします。

4

2 に答える 2

0

Java 用の JSON ライブラリの中には、特に JSON 自体の単純さを考慮すると、非常に複雑なものもあります。私の意見では、 http://www.json.org/java/index.htmlは最高のライブラリであり、派手なトリックは一切行わず、JSON を独自の特別な構造に解析するだけです。これはもちろん、JSON オブジェクト階層を使用するものに変えるために特定のコードを作成する必要があることを意味しますが、それはそれほど難しいことではありません。

GSON は、XStream (JSON も実行可能) の流れを汲む JSON ベースの永続性に関するものであり、単なるアプレットとしては少し重すぎるように思えます。

于 2010-05-07T13:42:19.633 に答える
0

アプレットに署名することとは別に、これを で実行することができますAccessController#doPrivileged():

public void init() {
    AccessController.doPrivileged(new PrivilegedAction<Object> {
        @Override public Object run() {
            // Put your original init() here.
            return null;
        }
    });
}
于 2010-05-07T13:38:04.963 に答える