我在一个网站上工作,我想在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中获取数据。
答案 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);