PHP函数如何返回JSON编码字符串

3

我的一个功能是使用以下方式返回json编码内容:

return json_encode($json, true);

现在在我的代码中,我已经尝试使用调用此函数:
die(var_dump($result[0]));
die(var_dump($result["user"]));
die(var_dump($result->user));

这些方法都没有起作用。 当我输出整个内容时,返回的结果如下:

{"usd":1,"user":10000}

为什么不试试单独使用 die(var_dump($result)); 然后看看会发生什么? - Wolverine
已经尝试过这个方法了,它返回的是字符串和长度。 - wichtel
1
你知道 json_encode() 的返回值是一个字符串吗? - M. Eriksson
也许你正在寻找 json_decode 函数? - HPierce
1个回答

1
我假设 $result 变量是从函数返回的内容。
在解码之前,您无法访问该 json 字符串中的属性。因此,您将无法使用 $result["user"] 或 $result->user,因为结果包含一个 json 字符串。
您需要先对其进行解码:
$result = json_decode($result, true);

http://php.net/manual/en/function.json-decode.php


可以怎么做,才能使用 $result->user 而不是 $result["user"]?已经生效,谢谢。 - wichtel
如果你想要结果是一个对象,你必须解码它并输入:$result = json_decode($result);(所以不需要逗号true),然后你可以使用 $result->user。但是,如果你想要结果作为一个关联数组,这样你就可以使用 $result['user'],你必须像我在上面的答案中写的那样进行解码。 - Andrew Larsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接