JSONException: java.lang.ClassCastException: JSON keys must be strings

Asked on January 17, 2015
Hi,
I am creating struts 2+ Web service with JSON. I getting error as below.
net.sf.json.JSONException: java.lang.ClassCastException: JSON keys must be strings.
at net.sf.json.JSONObject._fromMap(JSONObject.java:1357)
at net.sf.json.JSONObject.fromObject(JSONObject.java:159)
at net.sf.json.JSONObject.fromObject(JSONObject.java:130)
at org.apache.struts2.rest.handler.JsonLibHandler.fromObject(JsonLibHandler.java:72)
at org.apache.struts2.rest.DefaultContentTypeHandlerManager.handleResult
(DefaultContentTypeHandlerManager.java:139)
at org.apache.struts2.rest.RestActionInvocation.executeResult(RestActionInvocation.java:232)
at org.apache.struts2.rest.RestActionInvocation.processResult(RestActionInvocation.java:197)
at org.apache.struts2.rest.RestActionInvocation.invoke(RestActionInvocation.java:145)
at com.opensymphony.xwork2.DefaultActionProxy.execute(DefaultActionProxy.java:147)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:564)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter

Replied on January 17, 2015
Stack trace is clearly saying that in your Endpoint of web service has Non string parameter to accept JSON data. While accepting JSON data, we must keep property as String.
If we keep it Integer, then there will be ClassCastException.