在视图上渲染数据?

时间:2013-08-14 22:20:09

标签: json codeigniter

很抱歉提出这样一个基本问题。我是JSON的新手,对于如何在Codeigniter中使用它一无所知。
我正在获取一些JSON响应,并成功地从控制器类在我的页面上echo代码

function index() 
{
 $this->load->spark('restclient/2.1.0');
 $this->rest->initialize(array('server' => 'http://someurl.com/'));
 $this->rest->option(CURLOPT_SSL_VERIFYPEER, FALSE);
 $repos = $this->rest->get('query?q=someparameter');
 $data['items'] = json_encode($repos, JSON_FORCE_OBJECT);
 echo $data['items']; //works fine
 $this->load->view('index',$data);
}

JSON结构

-ProductsAPI{
   status: 200,
   products: [
        - {
           merchant: "Newegg",
           id:"111",
           img:"someimage.jpg"
          }
        - {
           merchant: "Newegg2",
           id:"112",
           img:"anotherimage.jpg"
          }

问题
当我在视图中执行此<p><?php echo $products.ProductAPI.status ?></p>时,我遇到了PHP错误。
我如何遍历JSON响应?
在将其发送到视图之前,是否需要json_decode()我的JSON响应?

1 个答案:

答案 0 :(得分:0)

函数json_encode将数组转换为字符串。因此,为了能够以数组(或对象)的形式访问内容,您必须再次json_decode变量。

// decoding json-encoded string into an array
$arr = json_decode($var, true)

// decoding json-encoded string into an object
$obj = json_decode($var)

希望这有帮助!