SOLVED:
struts.xml:
<result name="success" type="json">
<param name="root">action</param>
<param name="includeProperties">result,tspNameIdMap.*</param>
</result-type>
I added <param name="root">action</param>
to my code and it solved the problem.
Refer to this link from where I solved: http://blog.mattsch.com/2011/04/14/things-discovered-in-struts-2/
Since Struts 2.2.3 the root object is always considered to be the model if the action is model >driven. This means that when creating the JSON request only the model will get serialized. In >some cases one might use model driven for receiving requests and send something else in the >response. Then the root object has to be changed. This can be done by setting the root >parameter as shown above.