如何从php中的JSON对象提取变量?

时间:2018-08-16 02:08:34

标签: php json

我在一个网站上工作,我想在php中提取JSON变量。我为此使用的代码是:

<div class="tab-pane" id="policies">
   <p> 
      <span class="heading_size">policies:</span>

   </p>
   <p class="text-justify mb-0 pb-5">
      <?php 
         echo strtolower($data['item']->company_policy->description); 
         ?>
   </p>
</div>

在上面的代码中,以下行echo strtolower($data['item']->company_policy->description);似乎没有打印任何内容,但出于调试目的,当我添加<?php echo $data['item']; ?>时,它正在提取以下JSON代码段:

"company_policy": {
    "company_policy_id": 2,
    "uuid": "B4d2aa790",
    "name": "Reasonable",
    "description": "a.) Hello World. ",
    "cutoff_time": 96,
    "percentage": "1.00"
},

为了从上面的JSON中提取说明,可以理解的是,我应该使用echo strtolower($data['item']->company_policy->description);,但似乎没有像上面解释的那样提取任何内容。


问题陈述:

我想知道我应该对上述echo statement进行哪些更改,以便我能够成功地从JSON中获取数据。

2 个答案:

答案 0 :(得分:2)

首先,您已使用json_decode解码json数据

<?php $jsonData =  json_decode($data['item'], true); ?>

<div class="tab-pane" id="policies">
   <p> 
      <span class="heading_size">policies:</span>

   </p>
   <p class="text-justify mb-0 pb-5">
      <?php 
         echo strtolower($jsonData['company_policy']['description']); 
         ?>
   </p>
</div>

答案 1 :(得分:0)

根据文档,您需要指定是否要关联数组而不是json_decode中的对象,这是代码: json_decode($ jsondata,true);