私は、BlazeDSを使用してJavaオブジェクトをFlexにマーシャリングしています。私が目にしているのは、JavaのFloat
が整数値(123などの整数)を保持している場合、ActionScript int
にマーシャリングされます。私は、Java Float
が常にdocumented in the BlazeDS Developer GuideというようにActionScript Number
にマーシャリングされることを期待しています。BlazeDSはJava FloatをActionScriptにインテグレードします
これを設定する方法はありますか、これは単なるBlazeDSバグですか?
フォローアップ:フロートはマップ内に含まれています。
var map:Object = ...
trace(map.number);
trace(getQualifiedClassName(map.number));
プリント:
123
int
だからです
Map map = new HashMap();
Float f = 123.0;
map.put("number", f);
それは、Flex側map
に到着Object
です:BlazeDSのに渡されるJavaのマップは、何かのように見えます間違った型として正しく値を直列化します。
Flexエンドでどのようにコードを実行しているかについてのコードを表示できますか?あなたはRemoteAliasを使用していますか? –
動的オブジェクト。上記を参照してください。 –
私は、デフォルトでは、Flexオブジェクトに値オブジェクトを指定しないと、可能な限り小さい値(この場合はint)をタイプとして使用しようとします。 –