2014-11-17 4 views
0

В настоящее время я пытаюсь искать Azure.Как разобрать Azure Ответ поиска в PHP?

Мне удалось вставить документы в индекс, и теперь я хочу проанализировать свой результат.

Мой код выглядит следующим образом:

<?php 
$url =""; 
    $url .="https://mywebsite.search.windows.net/indexes/test/docs"; 
    $url .= "?search="; 
    $url .= $keyword; 
    $url .= "&api-version=2014-07-31-Preview"; 
    print $url; 


    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'api-key: mytoken', 
      'Accept: application/json', 
    )); 

    $data = curl_exec($ch); 

    if (curl_errno($ch)) { 
    print "Error: " . curl_error($ch); 
    } else 
    { 
    // Show me the result 
    print var_dump($data); 
    curl_close($ch); 
    } 
?> 

Моя программа работает нормально, но я не могу разобрать мой результат, который выглядит следующим образом:

строка (633) "{" @ odata.context ":" https://mywebsite.search.windows.net/indexes ('adventurehotel')/$ metadata # docs (hotelId, baseRate, описание, hotelName, категория, теги, parkingIncluded, smokingAllowed, lastRenovationDate, rating, location) "," value ": [{" @ search.score ": 0.16137227," hotelId ":" 1 "," baseRate ": 199.0," описание ":" Best отель в городе "," ho telName ":" Fancy Stay "," category ":" Luxury "," tags ": [" pool "," view "," wifi "," concierge "]," parkingIncluded ": false," smokingAllowed ": false "lastRenovationDate": "2010-06-27T00: 00: 00Z", "рейтинг": 5, "место": { "Тип": "Точка", "координаты": [-] 122.131577,47.678581 "АСБ" : {"type": "name", "properties": {"name": "EPSG: 4326"}}}}]} "

Заранее спасибо.

+0

Как вы кодировали данные в первую очередь? Похож на строку JSON – GordonM

+0

Просто 'json_decode' it. – baldrs

ответ

1

Просто json_decode это, это просто json строка.

json_decode, если он вызван с true как второй параметр, даст вам ассоциативный array представление строки, которую вы хотите проанализировать. Сама строка должна быть действительной строкой json, или вы получите null в качестве результата функции.

Обратите внимание, что с php 5.5 и выше расширение json должно быть установлено отдельно от основной установки php из-за его лицензии.

+0

благодарит вас за ответ. Если кто-то хочет его декодировать, следуйте этому примеру: $ json_decoded = json_decode ($ data, true); print $ json_decoded ['value'] ['0'] ['category']; –

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