从Jquery中的JSON数据中删除括号

从Jquery中的JSON数据中删除括号,jquery,ajax,json,Jquery,Ajax,Json,我不熟悉JQuery、json等 我有一些json数据,我正在从一个我不管理的网站上输入Jquery mobile/phone gap/dreamweaver。JSON返回时如下所示: ({ "status": "OK", "total": "1281", "people": [ { 然后是所有数据,最后是: } ] }) 括号不允许使用简单函数在浏览器中显示我的json查询: <script type="text/javascr

我不熟悉JQuery、json等

我有一些json数据,我正在从一个我不管理的网站上输入Jquery mobile/phone gap/dreamweaver。JSON返回时如下所示:

({
  "status": "OK",
  "total": "1281",
  "people": [
    {
然后是所有数据,最后是:

    }
  ]
})
括号不允许使用简单函数在浏览器中显示我的json查询:

            <script type="text/javascript">
        $(document).on('pageinit', '#more', function(){ 
            var url="http://www.somedata.com";
            $.getJSON(url,function(json){
                //loop through deals
                $.each(json.people,function(i,dat){
                    $("#todaycal").append("<li>"+dat.name+"  "+dat.caseNo+"</li>");
                 });
                 $("#todaycal").listview('refresh');
            });
         });
    </script>

$(document).on('pageinit','#more',function(){
变量url=”http://www.somedata.com";
$.getJSON(url,函数(json){
//循环交易
$.each(json.people,function(i,dat){
$(“#todaycal”)。追加(“
  • ”+dat.name+“+dat.caseNo+”
  • ”); }); $(“#todaycal”).listview('refresh'); }); });
    如何删除括号或“转义”它以使其正常工作


    谢谢

    最简单的方法是修复服务器端代码,使其不返回括号。但是,如果这不是一个选项,您可以使用
    dataFilter
    选项在客户端完成

    $.ajax({
        url: theurl,
        dataType: "json",
        dataFilter: function(data) {
            // trim the first and last characters and return the result
        }
    })
    

    我猜您正在尝试访问JSONP数据。您可能需要向URL添加
    ?callback=?

    var url="http://www.somedata.com";
    $.getJSON(url+'?callback=?', function(json){
        //loop through deals
        $.each(json.people,function(i,dat){
            $("#todaycal").append("<li>"+dat.name+"  "+dat.caseNo+"</li>");
        });
        $("#todaycal").listview('refresh');
    });
    
    var url=”http://www.somedata.com";
    $.getJSON(url+'?回调=?',函数(json){
    //循环交易
    $.each(json.people,function(i,dat){
    $(“#todaycal”)。追加(“
  • ”+dat.name+“+dat.caseNo+”
  • ”); }); $(“#todaycal”).listview('refresh'); });
    听起来您正在访问一个JSONP请求,它应该使用回调函数。通常URL的格式为
    http://example.com/data.json?callback=foo
    ,返回的数据将是
    foo({“foo”:“bar”,“fizz”:“buzz”})
    。添加这些参数可能是因为回调被计算为空字符串。

    我希望能够在服务器端修复它,但这不是我的数据。我应该把代码放在我的查询中的什么地方?如果它是一个不同的域,那么括号实际上是必需的,这样您就可以绕过同源策略。你确定在第一个括号前没有字符串吗?那么我该如何编辑脚本以使其正常工作?我不相信有一根绳子。当我在客户端使用jsonviewer时,它给了我发布的输出。如果json没有以jsonp格式返回,那么客户端无法解决此问题。我怀疑您请求的api需要回调名称参数,如果没有它,它会将它留空,这可以解释为什么第一个括号前的字符串丢失了。我很高兴我不是唯一一个想到JSONP的人。@zzzzBov:我想这就是为什么会有
    ()
    。它期待着一个回调,但什么也没有得到。