0

我试图从 JSON 数组中捕获 PHP 中的所有对象,我需要将出现在 ["Elements"] 下的所有对象。那么,如果我:

1.) 不知道对象的“名称”,也不知道里面的内容。2.)我想要实现的是获取元素内的第一个对象值,然后获取其中的“内容”,无论名称如何(可能有多个对象)

这是 JSON 的 var_dump:

object(stdClass)#1 (1) {
  ["Canvas"]=>
    array(1) {
      [0]=>
        ["Elements"]=>
          object(stdClass)#18 (2) {
            ["textHolder2"]=>
              object(stdClass)#19 (1) {
                ["textContent"]=>
                  string(12) "Text to edit"
              }
            ["textHolder1"]=>
              object(stdClass)#20 (1) {
                ["textContent"]=>
                  string(12) "Text to edit"
              }
          }
      }
 }
 }
4

1 回答 1

0

使用foreach.

$json = json_decode( $input, true );
$elems = $json['canvas']['Elements'];

foreach( $elems as $key => $value ) {
  echo "{$key} is an array/object:\n";
  echo var_dump( $value );
}

array_keys()如果您需要知道里面有什么键,或者您可以使用另一个 foreach 循环,您可以使用$value,但我假设您至少会知道哪些键可能在$value.

于 2013-08-02T07:38:44.507 回答