错误信息如下。
methodpublicjava.lang.stringorg.Apache.com mons.lang.exception.nestableruntimeeexception.getmessage (threwanexce on 3360 ajsonobjecttextmustbeginwith ' { ' at character1ofjuddtheproblled } tion 3360---------==$ { msgs [0] [ dispatcher/error.ftl] --------javabacktraceforprogrammers 3360---- freemarker.template.templatemodelexception 3360 meers mons.lang.lang e(int ) threwanexceptionwheninvokedonnet.SF.JSON.JSON exception 3360 ajsonobjectttextmustbeginwith ' { ' at chararacter1ofjudion
解决方案:
jsonobject只能转换map或bean类型的数据,而不能转换action属性。
如果action需要返回json字符串,则只需要注释;
jsonarray只能转换列表对象;
jsonobject.fromobject (括号中为bean或map对象,而不是action中的属性) )。
小心!
另外,小计如下:
8 json在struts2后台传递json对象或json字符串;
8.1对于简单的传入字符串,只需要添加struts2- JSON-plugin-2.3.1.2.jar包;
8.2如果需要搬入前台的是JSon对象,则需要的有额外的6个包,是必不可少的。 请注意:
1.commons-beanutils-1.7.0.jar
2.com mons-collections-3.2.1.jar
3.commons-lang-2.3.jar
4.commons-logging-1.0.4.jar
5.ezmorph-1.0.3.jar
6.json-lib-2.1.jar
另外,请像下面这样包装。
7.struts2- JSON-plugin-2.3.1.2.jar
以上软件包都在struts2中。 注意事项:
8.2.1 jsonobject的用法可以转换一个对象,也可以自己加入一个对象;
8.2.2 jsonobject和jsonarray只是添加了json对象,而action返回的json对象不仅仅是此转换的json对象。
8.2.4在action son中使用jsonobject或jsonarray后,不更改现有的json返回对象;