当属性名称为*时,如何解析PHP对象?

时间:2012-10-25 22:44:18

标签: php object json

  

可能重复:
  Special characters in property name of object

我正在从MediaWiki的API解析JSON响应:Requested URL

我通过json_decode()运行它,然后拉出一些部分。我遇到的问题是内容的属性名称是*。当我尝试访问内容(下面的vardumped json_decoded示例末尾的140,950字符串)时出现PHP错误,如下所示:

foreach( $Response->query->pages as $page_id => $Page ) {
    $this->id                   = $Page->pageid;
    $this->title                = $Page->title;
    $this->content_with_markup  = $Page->revisions[0]->*;
}

PHP错误:PHP Parse error: syntax error, unexpected '*'

pageidtitle正常工作。

以下是给我提问的JSON_Decoded对象:

object(stdClass)#5 (1) {
  ["11968"]=>
  object(stdClass)#6 (4) {
    ["pageid"]=>
    int(11968)
    ["ns"]=>
    int(0)
    ["title"]=>
    string(17) "George Washington"
    ["revisions"]=>
    array(1) {
      [0]=>
      object(stdClass)#7 (2) {
        ["contentformat"]=>
        string(11) "text/x-wiki"
        ["*"]=>
        string(140950) "{{About|the first President of the United States|other uses}}...

如何访问名为*?

的属性中包含的内容

1 个答案:

答案 0 :(得分:9)

一如既往。

...->{'*'}->...