目前我尝试Azure搜索。
我设法在索引中插入文档,现在我想解析我的结果。
我的代码如下所示:
<?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) &#34; {&#34; @ odata.context&#34;:&#34; https://mywebsite.search.windows.net/indexes(&#39; adventurehotel&#39;)/ $元数据#文档(hotelId,baseRate,描述,hotelName,类别,标签,parkingIncluded,smokingAllowed,lastRenovationDate,等级,位置)&#34;&#34;值&#34;:[{&#34; @ search.score&#34;:0.16137227,&#34; hotelId&# 34;:&#34; 1&#34;&#34; baseRate&#34;:199.0&#34;描述&#34;:&#34;最佳 镇上的酒店&#34;,&#34; hotelName&#34;:&#34; Fancy 留&#34;&#34;类别&#34;:&#34;豪华&#34;&#34;标记&#34;:[&#34;池&#34;&#34;视图&#34; &#34;无线&#34;&#34;门房&#34],&#34; parkingIncluded&#34;:假,&#34; smokingAllowed&#34;:假,&#34; lastRenovationDate&#34; :&#34; 2010-06-27T00:00:00Z&#34;&#34;评价&#34;:5,&#34;位置&#34; {&#34;类型&#34;:&# 34;点&#34;&#34;坐标&#34;:[ - 122.131577,47.678581]&#34; CRS&#34; {&#34;类型&#34;:&#34;名称&#34; &#34;属性&#34; {&#34;名称&#34;:&#34; EPSG:4326&#34;}}}}]}&#34;
提前致谢。
答案 0 :(得分:1)
只需 json_decode ,它只是一个 json 字符串。
json_decode
,如果使用true
作为第二个参数调用,则会为您提供要解析的字符串的关联array表示形式。字符串本身应该是有效的json
字符串,否则您将获得null
作为函数结果。
注意,从php 5.5及更高版本开始,由于其许可证,json扩展应该与主php安装分开安装。