2

GoogleのタイムゾーンAPIを使用して、指定された座標のタイムゾーンを検索するという簡単なタスクを実行しようとしています。次に、返されたJSONを解析して、タイムゾーン自体を表示しようとしています。私がここで間違っていることを誰かが知っていますか?どんな助けでも素晴らしいでしょう!ありがとうございました!

<?php

$jsonObject = file_get_contents("https://maps.googleapis.com/maps/api/timezone/json?    
timestamp=0&sensor=true&location=39.6034810,-119.6822510");

foreach($jsonObject as $p)
{
    echo "$p[timeZoneId]";
}

?>
4

3 に答える 3

4

file_get_contents文字列を返します:

$object = json_decode($jsonObject);
echo $object->timeZoneId;
于 2013-01-27T06:49:54.393 に答える
3

jsonオブジェクトをデコードする必要があります。今のところ、これは単なる文字列であり、foreachは機能しません。(配列またはオブジェクトのみ)。

<?php

$jsonObject = file_get_contents("https://maps.googleapis.com/maps/api/timezone/json?    
timestamp=0&sensor=true&location=39.6034810,-119.6822510");

$jsonObject = json_decode($jsonObject);

foreach($jsonObject as $p)
{
    echo "$p is $jsonObject[$p]";
}

?>
于 2013-01-27T06:49:48.220 に答える
1

Google からの応答 (実際には JSON 形式の単なるテキスト) を PHP 配列に解析する必要があります。次のようなものを使用します。

$json_text = file_get_contents(...);
$obj = json_decode($json_text, true);
foreach ($obj as $p)
{
    echo "$p[timeZoneId]";
}

結果が使いやすい連想配列に変換されるように、trueに渡したいと思うと思います。詳細については、こちらjson_decodeをお読みください。幸運を。

于 2013-01-27T06:53:05.980 に答える