servlet 中 JSON 对象不能传递到前台

[code="java"]
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Map map = new HashMap();
ArrayList> list = new ArrayList>();
for(int i=0;i HashMap jsonMap = new HashMap();
jsonMap.put("id", i);
jsonMap.put("username", "王三");
jsonMap.put("password", "123");
jsonMap.put("age", 20+i);
list.add(jsonMap);
}
map.put("aa", list);
System.out.println(map);
JSONObject.fromObject(map);
PrintWriter out = response.getWriter();
out.print(map);
out.flush();
out.close();
}
[/code]
[code="html"]
$(document).ready(function(){
$.ajax({
url:'/JGrid/servlet/JGridServlet',
type:'post',
dataType:'json',
success:function(data){
alert('成功!');
alert(data);
},
error:function(){
alert('内部错误!');
}
});
});
[/code]
[quote]
[b]后台输出时JSON 格式的数据[/b]
[/quote]
[quote]
{aa=[{password=123, age=20, username=王三, id=0}, {password=123, age=21, username=王三, id=1}, {password=123, age=22, username=王三, id=2}]}
[/quote]

[quote]前台走的是Ajax中的error:function(){alert('内部错误!')},我估计着是后台servlet中的数据传输有问题,JSON 格式不对?但是我明明得到了数据也做了转化啊[/quote]

3个回答

String json="{\"status\":0,\"data\":0}";
json的个格式应该是这样的

ajax 改成text试试

out.print(map);

打印的是map

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问