在PHP中解析Json以响应HTTP GET请求

时间:2016-07-21 09:17:32

标签: php json http parsing http-get

我想创建一个php脚本,允许我的Android客户端应用程序通过HTTP get方法请求与字符串匹配的城市。

我对php不是很熟悉,但我最终得到了这个脚本:

<?php

function starts_with($string, $query) {
    return substr($string, 0, strlen($query)) === $query // TODO: ignore case
}

$constraint = $_GET['const']

$string = file_get_contents("/home/cities.json"); 
$cities = json_decode($string, true); // Json array filled with Json objects, each one representing a city

$matches = array();

foreach ($cities as $city) { 
    if (startsWith($city->name, $constraint)) {
        $matches[] = $city
    }

} 

echo json_encode($matches);

?>

事实是我的json文件是一个巨大的文件(~20Mb),包含近220k&#34; line&#34;。 我以前在Java的客户端使用Jackson解析器实现了这个,它完全适应这种巨大的json文件,只要它通过节点处理文件并且不会一次完全解析文件。 所以我觉得我的脚本不适应它将加载的20mb文件。有没有办法以更好的方式做到这一点? 感谢

0 个答案:

没有答案