Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 请检查代码并告诉我为什么会出现此错误?_Java_Jquery_Json - Fatal编程技术网

Java 请检查代码并告诉我为什么会出现此错误?

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

这是我的servlet代码

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
是为您解析该字符串而实现的,因此您可以更轻松地使用它