版权声明:博客知识产权来源命运的信徒,切勿侵权 https://blog.csdn.net/qq_37591637/article/details/88664751
错误背景
在用ssh框架做第三方接口的时候,可以正常接收前端发送的数据,但是返回json数据给前端页面报错
错误代码
package cn.com.service;
import java.io.*;
import javax.servlet.http.HttpServletResponse;
import net.*;
import org.*;
import cn.com.bean.User;
@Repository(value="regedit")
@Scope("prototype")
public class Regedit implements ModelDriven<User>{
@Autowired
private SessionFactory sf;
@Autowired
private User user;
@Transactional
public String regedit_user(){
//获取session对象
String toast="用户名已存在,请重新输入";
HttpServletResponse response = ServletActionContext.getResponse();
//设置response输出json便于调试
response.setCharacterEncoding("utf-8");
PrintWriter out;
try {
out = response.getWriter();
JSONArray json=JSONArray.fromObject(toast);
out.write(json.toString());
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "success";
}
public User getModel() {
return user;
}
}
解决方案
JSONArray json=JSONArray.fromObject(toast);
out.write(json.toString());
把改成
JSONObject json=new JSONObject();
json.put("tom", toast);
JSONArray是把集合或者数组变成json
JSONObject是把基础类型的数据变成jon
在这里这个情况只能用JSONObject