打印json解码数组

时间:2014-02-03 18:17:02

标签: php json

我正在尝试从对象数组中打印一个值,但我遇到了一些问题。我想在php中回显[title]的值,但我没有得到它!

stdClass Object (
    [result] => success
    [records] => stdClass Object (
        [500272328] => stdClass Object (
            [nif] => 500272328
            [pc4] => 2775
            [pc3] => 372
            [seo_url] => solnave-restaurantes-e-alimentacao-s-a
            [title] => Solnave - Restaurantes e Alimentação S.a
            [city] => Cascais
            [racius] => http://www.racius.com/solnave-restaurantes-e-alimentacao-s-a/
            [portugalio] => http://www.portugalio.com/solnave-restaurantes-e-alimentacao-sa-2/
        )
    )
)

我如何检索? 谢谢!

3 个答案:

答案 0 :(得分:2)

我假设您正在调用json_decode来解码JSON字符串。

您应将其称为json_decode($thestring_to_be_decoded, true)。这会将对象转换为关联数组,您将能够访问标题字段。

答案 1 :(得分:0)

您可以使用foreach构造来遍历您的JSON解码对象数组,或者如果您想打印单个元素,您可以这样做。

echo $yourobjarray->result; //"prints" success

答案 2 :(得分:0)

您的stdClass是PHP对象还是Javascript编码对象?

它似乎是一个PHP,所以要回显title元素,你必须在那里导航:

       echo $yourobjarray->records->500272328->title;

       echo $yourobjarray->records->500272328['title'];

(在您的问题中不明显)

但要回显HTML页面的<script>部分,

  <script> ... 
      var x='<?=  $yourobjarray->records->500272328['title'];?>'; 
  ...</script>

并且,如果是AJAX上下文,则需要JSON响应

  echo json_encode($x);

其中$ x是你的数组或标题字符串,或者你想要的。