ミュールを使用しています。内部クラスから生成された JAVA オブジェクトがあります。実際にはHashMap<String,Object>
. Object
何でもかまいません..another HashMap
、ORList
など..今、私はそれをに変換する必要がJSON
あります(そしてNULLとして値を持つすべてのキーを削除します)..
特定の Mule Transformer を使用すると、ObjectToJSON
適切な JSON に変換されます..しかし、NULL 値を削除できません..そして、NULL 値を削除するCustom-transformerに設定するプロパティが見つかりませんでした..!!
そこで、ライブラリを使用するカスタム トランスフォーマーnet.sf.json-lib
を作成し、NULL 値を削除することができました。
しかし、私の JAVA Object の 1 つで、HashMap<Integer,String>
JSON Object では Integer をキーにすることはできないため、net.sf.json
ライブラリは Exception を与えています:
Exception stack is:
1. JSON keys must be strings. (java.lang.ClassCastException)
net.sf.json.JSONObject:1120 (null)
2. java.lang.ClassCastException: JSON keys must be strings. (net.sf.json.JSONException)
net.sf.json.JSONObject:1160 (null)
3. java.lang.ClassCastException: JSON keys must be strings. (net.sf.json.JSONException). Message payload is of type: HashMap (org.mule.api.transformer.TransformerMessagingException)
そのため、JSONに変換できません..
それで、最も実行可能なオプションは何ですか..??