我做了一个API调用并收到了JSON格式的响应。
JSON:
{
"Specialities": [
{
"SpecialityID": 1,
"SpecialityName": "Eye Doctor"
},
{
"SpecialityID": 2,
"SpecialityName": "Chiropractor"
},
{
"SpecialityID": 3,
"SpecialityName": "Primary Care Doctor"
}
]
}

控制器文件:
public function index(){
$data= json_decode(file_get_contents('some_url'));
$this->load->view('my_view',$data);
}

上面的代码不起作用,因为在视图中我无法访问嵌套对象属性。但是,我可以像这样回显控制器文件中的JSON属性:
控制器文件:
public function index(){
$data=json_decode(file_get_contents('some_url'));
foreach ($data as $key=>$prop_name){
for($i=0;$i < count($prop_name);$i++){
echo $prop_name[$i]->SpecialityID;
echo $prop_name[$i]->SpecialityName;
}
}
}
&#13;
我的问题是如何传递此JSON以查看以及如何在视图文件中访问这些属性?
答案 0 :(得分:2)
在控制器更改中,如
public function index(){
$data['json_data']= json_decode(file_get_contents('some_url'));
$this->load->view('my_view',$data);
}
并在视图中
echo "<pre>";print_r($json_data);
答案 1 :(得分:0)
根据Docs
数据通过数组或从控制器传递到视图 视图加载方法的第二个参数中的对象。
以下是使用数组的示例:
因此您需要更改控制器中的代码
Controller.php
$data = array();
$data['myJson'] = json_decode(file_get_contents('some_url'));
$this->load->view('my_view',$data);
<强> my_view.php 强>
<html>
....
<?php
//Access them like so
print_r($myJson);
// Rest of your code here to play with json
?>
....
</html>