很抱歉提出这样一个基本问题。我是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响应?
答案 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)
希望这有帮助!