后端传到前端的JSON无法遍历

后端与前端之间的数据传输问题

后端传输到前端的JSON数据不是JSON对象,而是JSON格式的字符串,所以要把字符串解析为对象才能遍历。
  • 后端传入前端的数据
JSONObject json = (JSONObject)JSONObject.toJSON(userinf);
			System.out.println(json.toJSONString());
			response.getWriter().write(json.toJSONString());
			response.getWriter().flush();
			response.getWriter().close();
userinf是一个用户的数据的对象
	public class Userinf {
     
	private int userid;
	private String account;
	private String password;
	
	public int getUserid() {
     
		return userid;
	}
	public void setUserid(int userid) {
     
		this.userid = userid;
	}
	public String getAccount() {
     
		return account;
	}
	public void setAccount(String account) {
     
		this.account = account;
	}
	public String getPassword() {
     
		return password;
	}
	public void setPassword(String password) {
     
		this.password = password;
	}
}
  • 前端Ajax接收到数据后的处理
$.post("url",{
     data:data},function(data){
     
					if(data!=""){
     
						var d = JSON.parse(data);
						alert(data.id);
					}
				})

$.post是jQuery的一种异步传输方式,使用post方式传输数据。
url:是后端接收的servlet地址
{data:data}:传输给Servlet的数据,JSON格式的。前面的参数名,后面是参数值
function(data){}:data是成功后返回的数据,这个方法是成功接收数据后启用

这里要注意后端传回来的数据是字符串,要变为json对象后遍历,不然会取不到值。前端传后端的值也是字符串。!!!!注意

你可能感兴趣的:(ajax,ajax,jquery,json,java)