Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
Ajax freebase查询的基本jquery格式化json请求_Ajax_Json_Jquery_Jsonp - Fatal编程技术网

Ajax freebase查询的基本jquery格式化json请求

Ajax freebase查询的基本jquery格式化json请求,ajax,json,jquery,jsonp,Ajax,Json,Jquery,Jsonp,我正在尝试使用freebase API,但在我要构建的查询的基本格式方面遇到了障碍 下面被注释掉的查询工作正常。。。但不是我上面的尝试。我相信解决办法很简单,但我还没能解决 $.ajax({ url: "https://www.googleapis.com/freebase/v1/mqlread", //url: "https://www.googleapis.com/freebase/v1/search", dataType: "jsonp", data: {

我正在尝试使用freebase API,但在我要构建的查询的基本格式方面遇到了障碍

下面被注释掉的查询工作正常。。。但不是我上面的尝试。我相信解决办法很简单,但我还没能解决

$.ajax({
    url: "https://www.googleapis.com/freebase/v1/mqlread",
    //url: "https://www.googleapis.com/freebase/v1/search",
    dataType: "jsonp",
    data: {
        query: [{
                "limit": 8,
                "name": null,
                "name~=": request.term+"*" 
                }]
        //query: '[{"name":null,"name~=":"ambrose*","limit":8}]'
    },
    success: function( data ) {
        response( $.map( data.result, function( item ) {
            return {
                label: item.name,
                value: item.name
            }
        }));
    }
});

注释行值为字符串(介于
'
之间):

这里我们有一个数组:

query: [{
   "limit": 8,
   "name": null,
   "name~=": request.term+"*" 
}]
改为:

query: '[{"limit": 8,"name": null,"name~=": "'+request.term+'*"}]'
现在应该可以了

更新:

将json转换为字符串:

JSON.stringify([{
    "limit": 8,
    "name": null,
    "name~=": request.term+"*"
}])

这很好用,但我也计划把它延长很多。。。有没有一种方法可以让它简单易读,而不是一行一行?
JSON.stringify([{
    "limit": 8,
    "name": null,
    "name~=": request.term+"*"
}])