我正在使用Mule。 我有一个从我的内部类填充的JAVA对象。实际上是一个HashMap。 Object可以是任何东西..另一个HashMap、List等。现在我必须将它转换为JSON(并删除所有其值为NULL的键)。
当我使用给定的Mule转换器ObjectToJSON时,它会转换为适当的JSON..但无法删除NULL值。而且我找不到在自定义转换器中设置将删除NULL值的属性..!!
所以,然后我编写了一个自定义转换器,该转换器使用net.sf.json-lib库,我可以删除NULL值。
但是在我的JAVA对象之一中,我有一个HashMap,因为在JSON对象中,整数不能作为键,net.sf.json库会出现异常:
当我使用给定的Mule转换器ObjectToJSON时,它会转换为适当的JSON..但无法删除NULL值。而且我找不到在自定义转换器中设置将删除NULL值的属性..!!
所以,然后我编写了一个自定义转换器,该转换器使用net.sf.json-lib库,我可以删除NULL值。
但是在我的JAVA对象之一中,我有一个HashMap,因为在JSON对象中,整数不能作为键,net.sf.json库会出现异常:
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格式。那么最可行的选择是什么?
那么最可行的选项是什么呢?
_
开头作为键,例如{ _1: 你好, _9: 世界 }
。 - Peter Lawrey