Java 请检查代码并告诉我为什么会出现此错误?
这是我的servlet代码Java 请检查代码并告诉我为什么会出现此错误?,java,jquery,json,Java,Jquery,Json,这是我的servlet代码 List<Group> list= dao.findgroup(user); JSONObject json=(JSONObject) JSONSerializer.toJSON(list); ServletResponse response=ActionContext.getServletResponse(); response.setContentType("text/JSON"); P
List<Group> list= dao.findgroup(user);
JSONObject json=(JSONObject) JSONSerializer.toJSON(list);
ServletResponse response=ActionContext.getServletResponse();
response.setContentType("text/JSON");
PrintWriter out=response.getWriter();
out.println(json);
out.close();
List List=dao.findgroup(用户);
JSONObject json=(JSONObject)JSONSerializer.toJSON(列表);
ServletResponse=ActionContext.getServletResponse();
setContentType(“text/JSON”);
PrintWriter out=response.getWriter();
out.println(json);
out.close();
//这是我的jquery代码
$.get("viewgroup.process",function(data){
var use=$.parseJSON(data);
$(use).each(function(i,v)
{
var det="<tr><td>"+v.value+"</td><td>"+v.description+"</td><td>"+v.code+"</td><td>"+v.status+"</td><td><a href='#'>reset code</a></td><td><a href='#'>change status</a></td></tr>";
$(det).appendTo("#tablebody");
});
$.get(“viewgroup.process”,函数(数据){
var use=$.parseJSON(数据);
$(使用)。每个(功能(i、v)
{
var det=“”+v.value+“”+v.description+“”+v.code+“”+v.status+“”;
$(det).附在(#表体)之后;
});
现在我的问题是,当我发送此请求并获取一个列表作为json对象时,当我使用方法parseJSON时,它会给我错误:
SyntaxError:JSON.parse:意外字符
有人能告诉我为什么会出现此错误吗?非常确定使用
$时数据
参数。get
已经是一个javascript对象(而不是JSON字符串),因此无需再次解析它:
$.get("viewgroup.process",function(data){
var use = data;//or just use data directly rather that a new variable called use
$(use).each(function(i,v)
{
var det="<tr><td>"+v.value+"</td><td>"+v.description+"</td><td>"+v.code+"</td><td>"+v.status+"</td><td><a href='#'>reset code</a></td><td><a href='#'>change status</a></td></tr>";
$(det).appendTo("#tablebody");
});
//rest of code...
});
$.get(“viewgroup.process”,函数(数据){
var use=data;//或者直接使用数据,而不是一个名为use的新变量
$(使用)。每个(功能(i、v)
{
var det=“”+v.value+“”+v.description+“”+v.code+“”+v.status+“”;
$(det).附在(#表体)之后;
});
//代码的其余部分。。。
});
将servlet代码中的out.println(json);
更改为out.println(json.toString());
。您希望发送字符串化的json,而不是实际的对象
我有一个列表,并且已经使用JSONSerializer转换成了jsonobject?它现在工作了吗?有什么可能为什么它不工作吗?为什么当我发送json对象作为响应时,数据参数是javascript对象?因为这是JQuery人员决定它应该工作的方式。另外,没有json对象,json意味着JavaScript对象表示法,基本上只是一个字符串。JQuery
$.get
是为您解析该字符串而实现的,因此您可以更轻松地使用它