【发布时间】:2021-11-29 07:50:42
【问题描述】:
我正在发送这个 JSON:
[{"tipo":""},{"activo":""},{"titulo":"Servicoasd B"},{"texto":"asdasdasd"}]
通过 post 方法到一个 php 文件。
我愿意
$obj = json_decode($_POST['sentJson']);
但是,我似乎无法访问 JSON 的元素。
var_dump(($obj));
显示对象:
array(4) {
[0]=>
object(stdClass)#2 (1) {
["tipo"]=>
string(0) ""
}
[1]=>
object(stdClass)#3 (1) {
["activo"]=>
string(0) ""
}
[2]=>
object(stdClass)#4 (1) {
["titulo"]=>
string(9) "Servico B"
}
[3]=>
object(stdClass)#5 (1) {
["texto"]=>
string(6) "asdasd"
}
}
但如果我尝试
$obj['texto'];
$obj->{'texto'};
$obj[0]['texto'];
$obj[0];
它显示“未定义的索引文本”或“试图获取非对象的属性”和最后一个“类stdClass的对象无法转换为字符串”。我对 PHP 很陌生,但我似乎仍然没有注意到我做错了什么。任何帮助将不胜感激。
【问题讨论】:
-
技术说明:没有“JSON 对象”之类的东西。有 JSON,它是一个字符串,还有“通过解析该 JSON 获得的对象”。是的,在询问编程问题时,技术差异很重要。至于你的问题:当然,你的 JSON 是一个对象的 array (看看 JSON 本身,这很清楚这个事实),所以
$obj是一个数组,你可以访问它的元素使用$obj[0]等。 -
$obj似乎是一个数组... -
$obj[3]->texto