api
  • parsing
  • curl
  • json
  • 2013-02-14 6 views 0 likes 
    0

    Я могу отправить запрос CURL на тестовый http API и получить ответ.JSON откликается на запрос CURL от HTTP API - преобразование HTML

    Мой запрос CURL, как:

    $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

    Проблема заключается в том, я не знаю, какое значение будет в переменных. доменное имя может быть любым, статус-> значение и значение classkey -> будут меняться. поэтому $ rawjason = иметь ожидаемые переменные. – Joshi

    +0

    Это должно работать нормально. Просто назначьте ответ, который вы вернетесь из cURL в rawJSON. Жестко закодированная строка здесь просто предназначена для примера. – mflaming

    +0

    ОК Я попытался добавить $ rawJSON = $ result; , а затем $ jsonAraay = ...........................} Но я получаю тот же результат, то есть '{"sambalpurodisha. ком ": {" статус ":" доступен», "ClassKey": "domcno"}} '; а не ожидаемый результат. Нужно ли мне что-то делать. – Joshi

    Смежные вопросы