6

以下のコードは、zillow.comのURL文字列からデータをプルするために機能しています(例として)。プライバシーとセキュリティ上の理由から、zws-idはurl文字列に貼り付けられませんが、ページは州、市、および近隣のすべてのapixmlデータを適切に返します。問題は、すべてのデータではなく、特定のデータをどのように取得するかです。

<?php
$url = "http://www.zillow.com/webservice/GetDemographics.htm?zws-id=<my_api_id>&state=WA&city=Seattle&neighborhood=Ballard";
echo json_encode(simplexml_load_string(file_get_contents($url)));
?>

これにより、データでいっぱいのページが返されますが、解析も整理もされていないため、明らかに混乱しています。

返されるものの1つの小さな抜粋: "state":"Washington","city":"Seattle","neighborhood":"Ballard","latitude":"47.668328","longitude":"-122.384536",...

これをどのように解析して必要なものを取得しますか?緯度のみが$.parseJSON(data)必要な場合、その特定のアイテム(緯度)を取得するためにどのように使用するか、または適切な構文を使用できますか?

もちろん、私はそれがかなり離れていることを知っています...しかし、私はAPI、xml、jsonが一緒に働いているのはまったく新しいので、これを行う標準的な方法があるのか​​、それとも私がいる会社に固有のものなのかわかりませんでAPIを使用します。

Zillow.comは、私が見た他のいくつかのサイトと同じように「サンプルAPI出力」などの情報を提供していますが、この情報をどのように利用しますか?各アイテムの名前のラベルが表示されるので、有益ですか? http://www.zillow.com/howto/api/GetDemographics.htm

単純なジャンプスタートだけで1トンの助けになります。ありがとうございました!

4

1 に答える 1

4

これがお役に立てば幸いです。

PHP でコードを処理するには:

コードは PHP で始まることに気付きました。そこから始めましょう。XML オブジェクトが PHP でどのように見えるかを確認したい場合は、次のように使用しますprint_r()

<?php
    $url = "http://www.zillow.com/webservice/GetDemographics.htm?zws-id=<my_api_id>&state=WA&city=Seattle&neighborhood=Ballard";

    $data = simplexml_load_string(file_get_contents($url));

    print_r($data);

次のような結果が得られるはずです。

SimpleXMLElement Object
(
    [response] => Object
    {
        [region] => Object
        {
            [id] => WA,
            [state] => Seattle,
            [city] => Ballard,
            [neighborhood] => Ballard,
            [latitude] => 47.668304,
            [longitude] => -122.384601
        }
    }
)

読みやすくするために、多くの応答を切り捨てました。そうすることで、実際の Zillow API 応答からそれを台無しにしてしまったかもしれませんが、うまくいけばそれがあなたの役に立てば幸いです。したがって、その応答から経度と緯度を取得するには、次のようにします。

<?php
    $latitude = $data->response->region->latitude;
    $longitude = $data->response->region->longitude;

Javascript でコードを処理するには

質問の 2 番目の部分には、javascript コードが含まれています$.parseJSON(data)。コードを PHP から Javascript に変換するには、次のechoようにします。

<?php
    $url = "http://www.zillow.com/webservice/GetDemographics.htm?zws-id=<my_api_id>&state=WA&city=Seattle&neighborhood=Ballard";

    $data = json_encode(simplexml_load_string(file_get_contents($url)));

そして、あなたのhtmlで次のことを行います:

<script>
    var data = $.parseJSON('<?php echo $data ?>');

    console.log(data); // you can look at the data in your browser console
</script>

それが役立つことを願っています!

于 2013-03-22T22:41:28.133 に答える