2015-02-19 4 views
1

Ниже мой код, я пытаюсь получить конкретный ответ api mashape (оператор) в строке php.преобразование mashape api ответ на строку php

require_once 'vendor/autoload.php'; 
$response = Unirest\Request::get("https://sphirelabs-mobile-number-portability-india-operator-v1.p.mashape.com/index.php?number=8055144322", 
array(
"X-Mashape-Key" => "XXXXXXXXX", 
"Accept" => "application/json" 
) 
); 
json_decode($response, true); 
echo $response['operator']; 

Ответ:

Unirest\Response Object ( 
    [code] => 200 
    [raw_body] => {"Telecom circle":"Maharashtra","Operator":"Reliance GSM","Is MNP":"False"} 
    [body] => stdClass Object ( 
     [Telecom circle] => Maharashtra 
     [Operator] => Reliance GSM 
     [Is MNP] => False 
    ) 
    [headers] => Array ([0] => HTTP/1.1 200 OK [Accept-Ranges] => none [Content-Encoding] => gzip [Content-Type] => application/json [Date] => Thu, 19 Feb 2015 14:04:39 GMT [Server] => Mashape/5.0.6 [Vary] => Accept-Encoding [Content-Length] => 91 [Connection] => keep-alive)) 
+0

Похоже, результат, который вы получаете, не является json. Опубликуйте результаты 'print_r ($ response)', чтобы мы могли видеть, с чем вы имеете дело. – cpilko

+0

Я уже пытаюсь print_r ($ response), и я получаю все ответы api в json правильно, но я хочу, чтобы конкретный ответ (оператор) из api. –

+0

Ошибка в вашем вопросе говорит мне, что '$ response' не является json. – cpilko

ответ

1

Вам не нужно json_decode этого. Это уже объект php.

$response->body->Operator должен предоставить вам результат, который вы ищете.

+0

Получение ошибки «Неустранимая ошибка: нельзя использовать объект типа Unirest \ Response as array». –

+0

Извините. попробуйте скорректированный код. – cpilko

+0

Спасибо cpilko. Теперь он работает. –