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

时间:2013-09-23 14:30:50

标签: jquery ajax json

我是JQuery,json等的新手。

我有一些json数据,我从一个我不管理的网站进入Jquery手机/手机间隙/ 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>

如何删除括号或“转义”以使其生效?

感谢。

3 个答案:

答案 0 :(得分:3)

我的猜测是你试图访问JSONP数据。您可能需要在网址中添加?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');
});

答案 1 :(得分:2)

听起来你正在访问一个应该使用回调函数的JSONP请求。通常,URL的格式为http://example.com/data.json?callback=foo,返回的数据为foo({"foo":"bar","fizz":"buzz"})。可能会添加这些parens,因为回调被评估为空字符串。

答案 2 :(得分:-3)

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

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