我将一个 JSON 编码的字符串传递给json_decode()
并期望它的输出是一个对象类型,但我得到的是一个字符串类型。我怎样才能返回一个对象?
在文档中,以下内容返回一个对象:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
但是,如果我json_encode()
先输入字符串然后调用json_decode()
,则输出是字符串而不是对象:
$json = json_encode('{"a":1,"b":2,"c":3,"d":4,"e":5}');
var_dump(json_decode($json));
这只是一个简化的例子。实际上,我正在做的是通过 AJAX 将 JSON 编码的字符串推送到 PHP。然而,它确实说明了将这个编码的 JSON 字符串转换为我可以在 PHP 中读取的对象的问题,例如“ $json->a
”。
如何返回对象类型?
感谢您的回复!这个问题的实际上下文是使用来自 API 的 JSON 响应。但是,当我对此响应执行 json_decode 并尝试访问以下值时 - $json=json_decode(json response from API); echo $json->a 它给了我一个错误:stdClass 类的对象无法转换为字符串