Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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
用php编码json并解析_Php_Json_Parsing - Fatal编程技术网

用php编码json并解析

用php编码json并解析,php,json,parsing,Php,Json,Parsing,我需要创建两个变量来运行具有此结构的js var sets = [{"label":"PHP","size":"6"},{"label":"SQL","size":"1"}]; var overlaps = [ {"sets":[0,1],"size":"0"}]; 我试图用php创建它,就像这样 $sets[] = array("label" =>"PHP", "size" => "6"); $overlaps[] = array("sets" => array(0,1)

我需要创建两个变量来运行具有此结构的js

var sets = [{"label":"PHP","size":"6"},{"label":"SQL","size":"1"}];

var overlaps = [ {"sets":[0,1],"size":"0"}];
我试图用php创建它,就像这样

$sets[] = array("label" =>"PHP", "size" => "6");
$overlaps[] = array("sets" => array(0,1), "size" => "0");
print json_encode(array($sets, $overlaps));
在ajax中,我这样做

$.post(action
        , {param:param}
        , function(returned_data){

            console.log(returned_data);
            var json = $.parseJSON(returned_data);
            sets = json[0];
            overlaps = json[1];
});
Console.log转储此文件

[[{"label":"PHP","size":"6"},{"label":"SQL","size":"1"},{"label":"JQuery","size":"1"}],[{"sets":[0,2],"size":"1"}]]
错误为“无法读取未定义的属性“push”


怎么了?如何解析json并将每个部分分配给变量?

我认为您不需要将其解析为json,控制台暗示它已经是一个对象。而且,
return
在几乎所有语言中都是保留字(语言结构),因此您应该养成不将其用于变量名的习惯

$.post(action
    , {param:param}
    , function(return_data){
        return_data = typeof return_data=='object' ? return_data : $.parseJSON(return_data);
        //The line above parses the string only if the browser didn't already recognize it as a JSON-object.

        console.log(return_data);
        sets = return_data[0];
        overlaps = return_data[1];
   });
此外,您还应该在PHP中设置标题(
$。此时当然不需要parseJSON
):


我认为您不需要将其解析为JSON,控制台暗示它已经是一个对象。而且,
return
在几乎所有语言中都是保留字(语言结构),因此您应该养成不将其用于变量名的习惯

$.post(action
    , {param:param}
    , function(return_data){
        return_data = typeof return_data=='object' ? return_data : $.parseJSON(return_data);
        //The line above parses the string only if the browser didn't already recognize it as a JSON-object.

        console.log(return_data);
        sets = return_data[0];
        overlaps = return_data[1];
   });
此外,您还应该在PHP中设置标题(
$。此时当然不需要parseJSON
):


我认为您不需要将其解析为JSON,控制台暗示它已经是一个对象。而且,
return
在几乎所有语言中都是保留字(语言结构),因此您应该养成不将其用于变量名的习惯

$.post(action
    , {param:param}
    , function(return_data){
        return_data = typeof return_data=='object' ? return_data : $.parseJSON(return_data);
        //The line above parses the string only if the browser didn't already recognize it as a JSON-object.

        console.log(return_data);
        sets = return_data[0];
        overlaps = return_data[1];
   });
此外,您还应该在PHP中设置标题(
$。此时当然不需要parseJSON
):


我认为您不需要将其解析为JSON,控制台暗示它已经是一个对象。而且,
return
在几乎所有语言中都是保留字(语言结构),因此您应该养成不将其用于变量名的习惯

$.post(action
    , {param:param}
    , function(return_data){
        return_data = typeof return_data=='object' ? return_data : $.parseJSON(return_data);
        //The line above parses the string only if the browser didn't already recognize it as a JSON-object.

        console.log(return_data);
        sets = return_data[0];
        overlaps = return_data[1];
   });
此外,您还应该在PHP中设置标题(
$。此时当然不需要parseJSON
):


奇怪的错误。可能是因为您正在使用保留字作为变量。

奇怪的错误。可能是因为您正在使用保留字作为变量。

奇怪的错误。可能是因为您正在使用保留字作为变量。

奇怪的错误。可能是因为您正在使用保留字作为变量。

jQuery
$。post
已经需要JSON,因此不需要JSON解析


jQuery
$.post
已经需要JSON,因此不需要JSON解析


jQuery
$.post
已经需要JSON,因此不需要JSON解析


jQuery
$.post
已经需要JSON,因此不需要JSON解析



或者我是瞎子,或者你的代码中没有“推送”功能?这就是我来这里的原因!没有“推送”@KoenHoeijmakers这可能是jQuery的
parseJSON
中的错误吗?问题只是赋值。我认为关于“push”的错误来自于需要这些变量的代码的其余部分。我将对其进行注释并保留赋值,以尝试我刚刚通过带有JSON.parse的xmlHTTPRequest对象解析的建议。工作得很好,或者我是瞎子,或者你的代码里没有“推”字?这就是我来这里的原因!没有“推送”@KoenHoeijmakers这可能是jQuery的
parseJSON
中的错误吗?问题只是赋值。我认为关于“push”的错误来自于需要这些变量的代码的其余部分。我将对其进行注释并保留赋值,以尝试我刚刚通过带有JSON.parse的xmlHTTPRequest对象解析的建议。工作得很好,或者我是瞎子,或者你的代码里没有“推”字?这就是我来这里的原因!没有“推送”@KoenHoeijmakers这可能是jQuery的
parseJSON
中的错误吗?问题只是赋值。我认为关于“push”的错误来自于需要这些变量的代码的其余部分。我将对其进行注释并保留赋值,以尝试我刚刚通过带有JSON.parse的xmlHTTPRequest对象解析的建议。工作得很好,或者我是瞎子,或者你的代码里没有“推”字?这就是我来这里的原因!没有“推送”@KoenHoeijmakers这可能是jQuery的
parseJSON
中的错误吗?问题只是赋值。我认为关于“push”的错误来自于需要这些变量的代码的其余部分。我将对其进行注释并保留赋值,以尝试我刚刚通过带有JSON.parse的xmlHTTPRequest对象解析的建议。他工作得很好。。不,我用的是returno(葡萄牙语的return)。我将对问题进行编辑,以防止出现这种错误。。不,我用的是returno(葡萄牙语的return)。我将对问题进行编辑,以防止出现这种错误。。不,我用的是returno(葡萄牙语的return)。我将对问题进行编辑,以防止出现这种错误。。不,我用的是returno(葡萄牙语的return)。我将对问题进行编辑,以防止出现这种错误