PHPからJSONデータの取得は可能でしょうか?

このQ&Aのポイント
  • PHPを使用してJSONデータを取得する方法について教えてください。
  • 携帯電話からのアクセスでJSONデータを取得するためには、PHPを利用する方法があります。
  • PHPを中継用のサーバとして使用し、WebAPIからJSONデータを取得することが可能です。
回答を見る
  • ベストアンサー

PHPからJSONデータの取得は可能でしょうか?

PHPからJSONデータの取得は可能でしょうか? Javascriptを用いて、JSON形式で占いデータを提供しているWebAPIからデータを取得するスクリプトを作成しました。携帯電話からの利用を想定しています。エミュレータによるパソコンでの動作確認は問題なかったのですが、実際に携帯電話からデータを取得しようとすると上手くいきません。 携帯電話からのアクセスは受け付けてくれないのかもしれないと思い、PHP等の利用が出来るレンタルサーバを借り、一旦そこを中継する事でデータの取得が出来ないかと考えています。(添付の画像に大体のイメージを描いてみました。) 携帯電話から、「○月○日の占いのデータを下さい。」というリクエストを(中継用の)サーバに投げます。(中継用の)サーバは、受け取ったリクエストに応じてWebAPIから占いのデータを取得します。そして取得したデータを携帯電話の方に返せば良いのではないかと思うのですが、このような事は可能なのでしょうか? ヒント程度で構わないので、アドバイスを頂けないでしょうか?よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
noname#111181
noname#111181
回答No.1

PEAR::Services_JSON ライブラリを使えば可能だと思います。 下記を参考にしてください。 http://www.doyouphp.jp/sample/sample_xml_json.shtml

na0k0
質問者

お礼

回答有難うございます。 その後、一応自分の希望するものは作成できました。教えて頂いたPEAR::Services_JSON ライブラリは、結局使いませんでした。なにぶんPHPのようなサーバサイドの言語は触った事が無くて、自分には少々敷居が高すぎました。少しずつ勉強していくつもりです。 有難うございました。

関連するQ&A

  • PHPからJavaScriptへJSONでデータを送る方法

    PHPからJavaScriptへ JSONでデータを送る方法を検討しています。 どんなやり方が一般的なのでしょうか? 教えてください。

    • ベストアンサー
    • PHP
  • jsonでn番目から最後までを取得するには?

    phpでアクセストークンを使ったinstagram jsonデータの取得を試みています。 n番目から最後までのデータを取得するにはどのようにすればよいでしょうか? -------------------------------------------------------- <?php //POSTリクエストの場合のみ受付 if($_SERVER['REQUEST_METHOD'] == 'POST'){ //アクセストークン $access_token = "29587...fa062d9"; //JSONデータを取得して出力 echo @file_get_contents("https://api.instagram.com/v1/users/self/media/recent/?access_token={$access_token}"); //終了 exit; } ?> --------------------------------------------------------

    • 締切済み
    • PHP
  • JSONのデータから商品名の取得の仕方

    今現在下記の記述でJSONを取得しています。 ===== <html> <head> <title>JSONのデータを使ってみる</title> </head> <script type="text/javascript" src="./prototype.js"></script> <script type="text/javascript"> function execute() { var url = './ItemSearch_json.php'; var paramList = "keyword=" + encodeURIComponent("ふくろう"); var a = new Ajax.Request( url, { method: 'get', parameters: paramList, onSuccess: function(request) { // alert('読み込み成功しました'); // jsonの値を処理する場合↓↓ var json; eval("json="+request.responseText); }, onComplete: function(request) { alert('読み込みが完了しました'); $('container').innerHTML = request.responseText; // jsonの値を処理する場合↓↓ var json; eval("json="+request.responseText); }, onFailure: function(request) { alert('読み込みに失敗しました'); }, onException: function (request) { alert('読み込み中にエラーが発生しました'); } } ); } </script> <body> <div id="container">content</div> <button onclick="execute()">サンプル実行</button> </body> </html> ===== このままだと、プレーンテキストは表示されるのですが、商品名や価格の一覧などを選択して表示できません。 evalなどを使うのかなと思うのですが、はっきり分かりません。 ヒントを教えていただけないでしょうか。

    • ベストアンサー
    • AJAX
  • PHPでJSON形式のデータから取得する方法

    PHPで取得したJSON形式のデータからキーワードを取得する方法を教えてください。 <?php $query = '自転車'; $url = 'http://api.suggest.search.rakuten.co.jp/suggest?cl=dir&rid=0&sid=0&oe=utf-8&cb=cb&q='.urlencode($query); $json = file_get_contents($url); print_r($json); ?> $jsonには以下のデータが返ってきます。 cb({"input":"自転車","status":0,"result":[["自転車 ライト"],["自転車 26インチ"],["自転車 カバー"],["自転車 置き場"],["自転車 27インチ"],["自転車 24インチ"],["自転車 2013"],["自転車 レインカバー チャイルドシート"],["自転車 スタンド"],["自転車 チャイルドシート"]]}) このデータから以下のキーワードデータの配列を取得するにはどうすればよいのでしょうか? 自転車 ライト,自転車 26インチ,自転車 カバー,自転車 置き場,自転車 27インチ,自転車 24インチ,自転車 2013,自転車 レインカバー チャイルドシート,自転車 スタンド,自転車 チャイルドシート

    • ベストアンサー
    • PHP
  • JMeterでJSON値を別のPHPに渡す

    こんばんは。 JMeterを利用し始めました。PHP自体も利用は初めてです。 行いたいことは以下の通りです。 1)HTTPリクエストで「index.pxp?param1=test」とするとJSONで返ってくる。 {"ApplicationID":"APPID201704"} 2)JSON値を正規表現で抽出。 参照名:appid_temp 正規表現:"ApplicationID":"([A-Z0-9_-]+)" テンプレート:$1$ 3)別のHTTPリクエストで「hogehoge.php?appid=APPID201704」になるようにしたい。 2)でAPPID201704は取れたのですが、3)のHTTPリクエストにどのようにセットすればよろしいのでしょうか?

    • 締切済み
    • PHP
  • 【PHP,JavaScript】文字が誤変換される

    以下は、プログラムの一部でJavaScriptからPHPにJSONデータを送信する処理です。 引数を渡すJavaScript側(Extjsライブラリを利用)のプログラム // Ajaxリクエスト処理 Ext.Ajax.request({ url: "php/updatedata.php", success: handleSuccess, failure: handleFailure, params: { data: Ext.util.JSON.encode(data) } // パラメータをJSON形式にして送信 }); 配列dataの中身は「data[0] = 3,data[1] = パソコン」となっています。 Ext.util.JSON.encode(data)により配列dataをJSONに変換して 受信するPHP側のプログラム:updatedata.php JavaScriptで渡したJSONを$_REQUEST['data']で受信して中身を見ると以下のようになっています。 if (isset($_REQUEST['data'])) { $tmp = $_REQUEST['data']; 【受信したJSONデータの中身】 [{"id":"3","name":"繝代た繧ウ繝ウ"}] 「パソコン」という文字列が「繝代た繧ウ繝ウ」という文字列に変換されてしまっています。 Extjs側の「Ext.util.JSON.encode」が悪いのでしょうか、それともPHP側の「$_REQUEST」が悪いのでしょうか。はたまた何か別の原因があるのでしょうか。 ちなみに、環境は以下のようになっています。 WindowsXP,Windows7(両方とも同じ結果になってしまいました。) PHP5.3.1 Ext3.3.0 以上、よろしくお願い致します。

  • PHPでJSONを扱うときに配列の参照について

    Web ad Fortune http://jugemkey.jp/api/waf/api_free.php という占いのAPIをPHPにて使おうと思い、 JSON形式で情報が帰ってくるようなので JSONについて調べて json_decode()関数を使うことにしました。 しかし、いまいち配列からのデータ参照ができません。どういうことかというと、 牡羊座のランクを取り出したいときに 【ソース】 <?php $json = file_get_contents("http://api.jugemkey.jp/api/horoscope/free/2009/02/27","r"); $obj = json_decode($json); echo "<pre>"; print_r($obj->horoscope->2009/02/27[0]["rank"]); echo "</pre>"; ?> としても何も表示されません。 ちなみに、print_rの部分を print_r($obj->horoscope); とすると http://nanigashi.biz/json.php のように表示されます。 配列からの情報の読み込み(データ参照)がわかりません。 教えてください。

    • ベストアンサー
    • PHP
  • javascriptでdata.txtのJSONデータを変数に取得する

    javascriptでdata.txtのJSONデータを変数に取得するかんたんなサンプルコードはどのようになるのでしょうか。 JSONデータは以下と同じです。 http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter03/006/index.html {"item":[ {"itemCode":91, "itemName":"塩ラーメン", "itemPrice":300}, {"itemCode":94, "itemName":"味噌ラーメン", "itemPrice":290}, {"itemCode":95, "itemName":"豚骨ラーメン", "itemPrice":320} ] }

  • javascriptでJSONデータの生成方法

    現在PerlのフレームワークであるMojoliciousとJavascriptのjQueryを使ってAjaxを利用したアプリケーションを作ろうとしているのですが、クライアント側で、サーバに送信するためのJSON形式のデータがうまく作れません。 例えば、ブラウザ上の表のセルをダブルクリックしたときにそのデータを書き換えられるようにし、その更新データをJSONでサーバ側に送りたいのですが、 <table> <tr><th>name</th><th>email</th></tr> <tr><td class="name">山田</td><td class="email">yamada**@gmail.com</td></tr> </table> とある表のセルの山田のアドレスをyamada**@gmail.com -> yamada**@yahoo.co.jpと変更した場合、javascript(jQuery)で次のようなJSONデータを作りたいです。 { "email" : "yamada**@yahoo.co.jp"} 左側のemailは動的にセルのclass属性から取得したいのですが、方法が分かりません。 実際にはemail以外にも多数の列がありますので、なるべく動的にclass属性を取得したいのですが、良いJSONの生成方法やJSONを用いた他のデータ構造があれば教えていただきたいです。

  • javascriptでJSONを取得する方法

    C#、asp.netでJson形式の文字列をjavascriptに渡してgooglemapで使用したいです。 json.netやらDynamicJson やらがインストールされていないと使用できないのでしょうか。 aspx.cs dynamic dataSet = 取得したlist; System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); serializer.Serialize(dataSet); javascript function json() { $.ajax({ url: ××.aspx.cs, type: "get", dataType: 'json', error: function () { alert("情報の読み込みに失敗しました"); }, success: function (data) {        alert("data"); } }); } こちらでは、情報の読み込みに失敗しましたとアラートが出てしまいます。 http://qiita.com/rbtnn/items/b2ec6c7dee792e66ac75 http://aspnet.keicode.com/basic/jquery-ajax-basics.php この2つのサイトを参考にしています。 dataSetの中身に目的のリストが取得できているのは確認済みです。 何がいけないのでしょうか。 どうやったらJSONをjavascriptで読み込めるのでしょうか。 どなたかよろしくお願いします。