JS中的JSON和AJAX中文乱码

1.这是从数据库取出的数据,在servlet处绑定为json数据,再发回到ajax前台,这里就会遇到两个问题:

①中文乱码问题。在后台服务端不存在乱码的问题,可以正常输出,但是到了前台所有的中文都会变成问号。

原因是前后台的编码不一致导致,一般前台的编码默认为UTF-8,因此在后台设置:

               

response.setCharacterEncoding("UTF-8");
response.setContentType("text/html,charset=UTF-8");

在返回内容前设置这两行,注意,第一行尤其重要,本人就是第一次设置的为request的encoding,以外都一样,,,,智障了。这是决定的输出编码方式,第二行没仔细试。


2.JSON对象嵌套如何在前台解析:

第一步,先:var json=JSON.parse(request.reponseText)先整体解析出来,变成一个大对象数组(但是应该又不能算数组,因为它没有length属性,只是抽象理解一下)

第二步: 分解。 

	for(var name in json)
		alert(json[name].code)

这里的code就是每一个对象内容的code属性,其它对象属性也是同理


如果需要解析的就是一个JSON数组,可以使用length属性

你可能感兴趣的:(JS中的JSON和AJAX中文乱码)