JSON

php CI 实战教程:[5]用curl获取json并解析

字号+ 作者:H5之家 来源:H5之家 2016-02-26 17:00 我要评论( )

本篇为php CI 实战教程 用curl获取json并解析,主要内容有:通过curl_setopt获取到指定api接口返回的json内容,然后对返回数据进行json_decode还原成对象(如:arr

工具/原料

php curl扩展库

方法/步骤1

创建一个获取json并解析为对象返回的公共方法,这里打印出URL和状态码,http_code返回200的才是正常的:

function get_json_decode($params = '') {

$MY_BASE_URL = ";;

// 初始化curl

$ch = curl_init ();

$url = $MY_BASE_URL . $params;

echo "<br>url==" . $url;

// 设置URL参数

curl_setopt ( $ch, CURLOPT_URL, $url );

// 设置cURL允许执行的最长秒数

curl_setopt ( $ch, CURLOPT_TIMEOUT, 5 );

// 要求CURL返回数据

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );

// 执行请求

$result = curl_exec ( $ch );

// 获取http状态

$http_code = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );

echo "<br>http_code==" . $http_code;

if ($http_code != 200) {

// 失败返回空数组

return array();

}

// 取得返回的结果,并显示

// print_r(json_decode($result));

// 取得返回的结果,转换成对象

$data = json_decode ( $result );

// 关闭CURL

curl_close ( $ch );

return $data;

}

在Controllers里面get_json_test方法调用get_json_decode 并返回到view界面使用:

function get_json_test($params = "") {

$getdata = get_json_decode($params);

$data["response"] = $getdata;

$this->load->view('apiview',$data);

}

在view中调用返回的对象解析显示,页面编码一定要用utf-8:

<META http-equiv=Content-Type content="text/html; charset=utf-8">

<DIV class=content_L_column>

<?php

echo "==================<br>";

print_r($response);

echo "------------------<br>";

foreach($response as $row){

echo $row->{"myword"};

}

?>

注意事项

页面编码一定要用utf-8

http_code返回200的才是正常的

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评