杰森如何显示信息

时间:2018-08-08 18:24:15

标签: php json

如何显示姓名?

我尝试过此方法,但没有用:$result_content_module->authors->name

var_dump($result_content_module->authors)具有作者的价值 还有$ result_content_module-> title

{
 "title":   "Archive",
 "authors": [
  {
   "name": "MyName",
   "company":   "Company",
   "email": "emailopping.org",
   "website":   "website"
  }
 ]
}

3 个答案:

答案 0 :(得分:1)

您混合使用objectsarrays

具体地说,authors是一个数组,因此应使用方括号而不是箭头表示法进行访问。在您的示例中,数组只有一个条目,因此您需要索引0。

尝试:

var_dump($result_content_module->authors[0]->name);

答案 1 :(得分:0)

Address是一个对象内的数组,其元素也是对象。这样,您将可以像这样访问第一位作者的authors属性:

name

上面的代码段将打印以下内容。

$jsonStr = '{
 "title":   "Archive",
 "authors": [
  {
   "name": "MyName",
   "company":   "Company",
   "email": "emailopping.org",
   "website":   "website"
  }
 ]
}';

$result_content_module = json_decode($jsonStr);
echo $result_content_module->authors[0]->name;

实时Demo

美化您的JSON here

答案 2 :(得分:0)

根据您的代码片段作者,是一个对象数组,因此您必须传递数组索引

$dt = '{
 "title":   "Archive",
 "authors": [
  {
   "name": "MyName",
   "company":   "Company",
   "email": "emailopping.org",
   "website":   "website"
  }
 ]
}';
$data = json_decode($dt);
echo $data->authors[0]->name;

现在,如果您具有作者的多维数组,则必须使用如下循环

    foreach($data->authors as $auth){
      echo $auth->name;
   }