首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

急 java struts2.json.JSONException如何解决

2012-03-29 
急急急 java struts2.json.JSONException怎么解决org.apache.struts2.json.JSONException: org.apache.str

急急急 java struts2.json.JSONException怎么解决
org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException
org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:243)
org.apache.struts2.json.JSONWriter.process(JSONWriter.java:165)
org.apache.struts2.json.JSONWriter.value(JSONWriter.java:131)
org.apache.struts2.json.JSONWriter.write(JSONWriter.java:99)
org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112)
org.apache.struts2.json.JSONResult.execute(JSONResult.java:198)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept

报这样的错用ext写的从数据库读取数据

action
List<Employeeinfo> elist;
RoleInfoBiz roleInfoBiz;
String json;
Employeeinfo employeeinfo;

public String allEmployeeinfo() {
  elist=roleInfoBiz.allEmp();
String result="[";
for (int i=0;i<elist.size();i++) {
result+="{employeeId:"+elist.get(i).getEmployeeId()+"',employeeName:'"+elist.get(i).getEmployeeName()+"',gender'"+elist.get(i).getGender()+"',tbUser:'"+elist.get(i).getTbUser().getRole().getRoleName()+"',departinfo:'"+elist.get(i).getDepartinfo().getDepartName()+
"',phone:'"+elist.get(i).getPhone()+"',qq:'"+elist.get(i).getQq()+"',email:'"+elist.get(i).getEmail()+"',address:'"+elist.get(i).getAddress()+"}";
if (i!=elist.size()-1){
result+=",";
}
}
result+="]";
json="{\"success\":true,\"elist\":"+result+"}";
System.out.println(json);
return SUCCESS;
}
public List<Employeeinfo> getElist() {
return elist;
}
public void setElist(List<Employeeinfo> elist) {
this.elist = elist;
}

public RoleInfoBiz getRoleInfoBiz() {
return roleInfoBiz;
}
public void setRoleInfoBiz(RoleInfoBiz roleInfoBiz) {
this.roleInfoBiz = roleInfoBiz;
}


@JSON(serialize=false) 
public String getJson() {
return json;
}



public void setJson(String json) {
this.json = json;
}

   
   
public Employeeinfo getEmployeeinfo() {
return employeeinfo;


}



public void setEmployeeinfo(Employeeinfo employeeinfo) {
this.employeeinfo = employeeinfo;
}

struts

 <package name="em" namespace="/" extends="json-default">
  <action name="employee" class="EmployeeInfoAll">
  <result name="success" type="json">MyRoleInfo.jsp</result>
  </action>
  </package>
applicationcontext;

<bean id="userrolebiz" class="biz.impl.UserRolebiz" autowire="byType">
</bean>

<bean id="EmployeeInfoAll" class="action.EmployeeInfoAll" scope="prototype" autowire="byType"></bean>


很急谢谢各位

[解决办法]
应该是json字符串拼接错了,建议用JSONArray.fromObject(list).toString()这个函数,网上搜一下用法把,要导入几个jar包。
[解决办法]

探讨

应该是json字符串拼接错了,建议用JSONArray.fromObject(list).toString()这个函数,网上搜一下用法把,要导入几个jar包。

[解决办法]
使用json-lib-2.2.3-jdk15.jar把查询出来的自动转换成JSON对象
返回结果应该这么写<result type="json" name="updateTypeInfo">
<param name="includeProperties">message</param>
</result>或者
<result type="json" name="loadTypeInforToPaixu">
<param name="root">extJsPageBean</param>
</result>

热点排行