Php 返回字符串而不是对象的json

Php 返回字符串而不是对象的json,php,javascript,json,Php,Javascript,Json,我有 然后我在这里取回它 $age = implode(',', $wage); // which is object return: [1,4],[7,11],[15,11] $ww = json_encode($age); var age=JSON.parse(); 所以如果我 var age = JSON.parse(<?php echo json_encode($ww); ?>); alert(typeof())//对象 警报(类型(年龄))//字

我有

然后我在这里取回它

 $age = implode(',', $wage);   // which is object return:  [1,4],[7,11],[15,11]
  $ww = json_encode($age);
var age=JSON.parse();
所以如果我

    var age = JSON.parse(<?php echo json_encode($ww); ?>); 
alert(typeof())//对象
警报(类型(年龄))//字符串
在我的例子中,JSON.parse作为字符串返回

如何让json作为对象返回

编辑:

var age=JSON.parse();//不起作用,是语法错误

内爆
返回一个字符串,因此
json\u encode
自然地对其进行编码。它无法识别已经作为字符串传递的类似JSON的数据

如果要获取对象,必须将关联数组传递给
json\u encode

 var age = JSON.parse(<?php echo $ww; ?>); // didnt work , its something syntax error

由于关于
$wage
在爆炸前的样子的信息太少,很难准确地说出你想要得到什么。这个结构(
[1,4]、[7,11]、[15,11]
)是如何成为对象的?每个元组的第一个元素是键吗?这就是我在示例中所假设的,但它可能是关闭的。

内爆
返回一个字符串,因此
json\u encode
自然会对其进行编码。它无法识别已经作为字符串传递的类似JSON的数据

如果要获取对象,必须将关联数组传递给
json\u encode

 var age = JSON.parse(<?php echo $ww; ?>); // didnt work , its something syntax error

由于关于
$wage
在爆炸前的样子的信息太少,很难准确地说出你想要得到什么。这个结构(
[1,4]、[7,11]、[15,11]
)是如何成为对象的?每个元组的第一个元素是键吗?这是我在我的例子中所假设的,但它可能是关闭的。

a。出现语法错误,因为需要将字符串括在引号内,如下所示:

var age=JSON.parse(“”)

b。此外,您不需要
JSON.parse
。在服务器端对php变量进行json_编码后,您只需回显它:

var-age=


JSON.parse用于将JavaScript字符串转换为对象。对于PHP字符串,一旦它构建为JSON,在正确的位置回显它就相当于自己编写代码。

a。出现语法错误,因为需要将字符串括在引号内,如下所示:

$foo = array(
    1 => 4,
    7 => 11,
    15 => 11
);

echo json_encode($foo); // {1:4,7:11,15:11}
var age=JSON.parse(“”)

b。此外,您不需要
JSON.parse
。在服务器端对php变量进行json_编码后,您只需回显它:

var-age=

JSON.parse用于将JavaScript字符串转换为对象。对于PHP字符串,一旦它构建为JSON,在正确的位置回显它就相当于自己编写代码。

var age=[];
$foo = array(
    1 => 4,
    7 => 11,
    15 => 11
);

echo json_encode($foo); // {1:4,7:11,15:11}
var年龄=[];


$ww=json\u encode($age)
然后你回显
json\u encode($ww)
so really
var age=JSON.parse(
这是你真正想做的吗?为什么你要使用json_encode两次?第二次你基本上是在字符串上运行json_encode,这没有意义,因为json_encode在数组\对象上运行并将其转换为字符串。我编辑了我的帖子,正如你告诉我的@Matanya
$ww=json_encode($age)
然后你回显
json_encode($ww);
所以真的
var age=json.parse(
这就是你真正想要做的吗?为什么你要使用json_encode两次?第二次你基本上是在字符串上运行json_encode,这没有意义,因为json_encode在数组\对象上运行并将其转换为字符串。我编辑了我的帖子,正如你告诉我的@Matanyabut为什么$age的类型是object,age的类型是string我的code@peter,您必须查看它生成的代码。第一个示例执行
typeof([1,4],[7,11],[15,11])
,数组上的
typeof
返回
object
(简单地说,
typeof
返回它作为参数接收的最后一个逗号分隔值的类型)。在第二个示例中,您得到
typeof(“[1,4],[7,11],[15,11]“”
,这绝对是一个
字符串
文字(注意引号)。我没有使用双精度(“[1,4],[7,11],[15,11]”)进行
typeof
quotes@peter,您没有完全这样做,但是您做了
var age=JSON.parse(“\”[1,4],[7,11],[15,11]\”);
然后
typeof(age)
。(看一下如何调用
json_encode
两次,一次调用
$wage
获得
$age
,然后再次调用
$age
将其放入Javascript。)那么如何解决这个问题呢?删除那些双引号。thx的帮助,但为什么$age的类型是object,age的类型是string在我的code@peter,您必须查看它生成的代码。第一个示例执行
typeof([1,4],[7,11],[15,11])
,并且数组上的
typeof
返回
对象
(简单地说,
typeof
返回它作为参数接收的最后一个逗号分隔值的类型)。在第二种情况下,您得到的是
typeof(“[1,4],[7,11],[15,11]”)
,它肯定是一个
字符串
文本(注意引号)。我没有使用
typeof(“[1,4],[7,11],[15,11]”)
带双quotes@peter,您并没有完全做到这一点,但您做到了
var age=JSON.parse(“\”[1,4],[7,11],[15,11]\”)
,然后
typeof(age)
(看看您如何调用
JSON\u encode
两次,一次调用
$wage
获得
$age
,然后再次调用
$age
将其放入Javascript。)那么,如何解决这个问题呢?要删除那些双引号。首先,我不知道我在哪里写了u提到的双引号。你没有。你应该有。b。正如我所说,这是冗余的b变量年龄也是没有json解析的字符串删除了json解析,但它是相同的,它的变量年龄字符串转到bro中的
查看源代码
请把它粘贴到这里,这样我就可以看到它是如何解析的。首先,我不知道我在哪里写了双引号,正如你提到的。你没有。你应该有。b。正如我所说,这是冗余的。b变量年龄也是字符串,没有json解析。删除json解析,但它是相同的,它的st