2013-02-14 61 views
0

我能夠將CURL請求發送到測試http API並獲得響應。JSON響應來自HTTP API的CURL請求 - HTML轉換

我捲曲的要求是這樣的:

$request = ""; 
$param['auth-userid'] = '449735'; 
$param['api-key'] = 'apikey'; 
$param['domain-name'] ='sambalpurodisha'; 
$param['tlds']='com'; 
foreach ($param as $key => $val) {$request.= $key ."=".urlencode($val);  
$request .="&";} 
$request=substr($request,0,strlen($request)- 1); 
$url = "https://test.httpapi.com/api/domains/available.json?".$request; 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($ch); 
curl_close($ch); 

我越來越像一個響應:
{ 「sambalpurodisha.com」:{ 「地位」: 「可用」, 「的ClassKey」: 「domcno」 }}

現在我已經嘗試了所有格式化結果以更可讀的方式,如 域名 - sambalpurodisha.com可供購買。

我已經嘗試了一些建議在這裏堆棧,但沒有爲我工作。一個方向在哪裏可以找

回答

1

你需要返回的JSON字符串解碼無論是作爲JSON對象或關聯數組,然後遍歷它:

$rawJSON = '{"sambalpurodisha.com":{"status":"available","classkey":"domcno"}}'; 

$jsonArray = json_decode($rawJSON, true); 
foreach($jsonArray as $key => $val) { 

    echo 'Domain: ' . $key . ' status: ' . $val['status'] . "\n"; 

} 
+0

的問題是我不知道變量中會有什麼價值。域名可以是任何東西,status-> value和classkey - >值會不斷變化。所以$ rawjason =有預期的變量。 – Joshi 2013-02-15 20:40:01

+0

這應該可以正常工作。只需將您從cURL獲得的回覆分配給rawJSON即可。這裏的硬編碼字符串僅僅是一個例子。 – mflaming 2013-02-15 21:54:11

+0

好吧,我已經嘗試加入 $ rawJSON = $ result; 然後$ jsonAraay = ...........................} 但是我得到了相同的結果,即 '{「sambalpurodisha。 COM 「:{」 地位 「:」 可用」, 「的ClassKey」: 「domcno」}}「;而不是預期的結果。 我需要做任何不同的事情。 – Joshi 2013-02-15 23:22:15