jsonデータの取得方法を教えてください。(jquery,ajax)



$.ajax({
type: "POST",
url: "pulldown.php",
data: {kana:data},
'success': function (j_data){
alert(j_data);
},
'error': function(XMLHttpRequest, textStatus, errorThrown) {
}
})

pulldown.phpファイルにPOSTで投げて、データベースからjsonデータを取得しました。
alert()で見ると思うようなjsonデータがはいっている事が確認できるのですが、これを利用できる形にするにはどうしたら良いでしょうか?

そのデータがaaa.jsonであればgetJSONで以下の様に取得する事はわかるのですが、

$.getJSON(aaa.json, function(json){~

j_data のデータはどのようにしたらgetJSONのように他で利用できるように取得できるのでしょうか?
おそらく初歩的な事だと思うのですが、よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/03/30 21:24:49
  • 終了:2014/04/01 12:59:19

ベストアンサー

id:snow0214 No.1

snow0214回答回数470ベストアンサー獲得回数1162014/03/30 21:45:11

ポイント200pt

JSON.parse()メソッドを使ってJavaScriptのオブジェクトに変換してやります。
http://msdn.microsoft.com/ja-jp/library/cc836466(v=vs.94).aspx

evalを使うと悪意のあるJSONコードによってクロスサイトスクリプティングを行われる危険があります。また、evalよりparseの方が処理速度が速いです。
Windows XPの時代のIE6ではparseは使えなかったですが、そこまで古いブラウザはほとんどないからparseを使うのが標準です。

JSON.parseとevalなどの比較とスピードテスト

http://tinqwill.blog59.fc2.com/blog-entry-72.html

id:jamis

回答ありがとうございます。
parseで処理する事にしました。
参考になりました。

2014/04/01 13:00:01

その他の回答(2件)

id:snow0214 No.1

snow0214回答回数470ベストアンサー獲得回数1162014/03/30 21:45:11ここでベストアンサー

ポイント200pt

JSON.parse()メソッドを使ってJavaScriptのオブジェクトに変換してやります。
http://msdn.microsoft.com/ja-jp/library/cc836466(v=vs.94).aspx

evalを使うと悪意のあるJSONコードによってクロスサイトスクリプティングを行われる危険があります。また、evalよりparseの方が処理速度が速いです。
Windows XPの時代のIE6ではparseは使えなかったですが、そこまで古いブラウザはほとんどないからparseを使うのが標準です。

JSON.parseとevalなどの比較とスピードテスト

http://tinqwill.blog59.fc2.com/blog-entry-72.html

id:jamis

回答ありがとうございます。
parseで処理する事にしました。
参考になりました。

2014/04/01 13:00:01
id:a-kuma3 No.2

a-kuma3回答回数4523ベストアンサー獲得回数18802014/03/30 21:50:11

ポイント100pt

eval 関数を使います。

$.ajax({
    type: "POST",
    url: "pulldown.php",
    data: {kana:data},
    'success': function (j_data){
        eval("data = " + j_data);   // ★コレ!
        alert(data[0].name);
    },
        'error': function(XMLHttpRequest, textStatus, errorThrown) {
    }
})

json データを、変数に代入するような式にして、eval 関数で解釈させます。
それ以降、変数 data (変数名は、何でも良いんですが) を経由して、json データにアクセスできます。

id:jamis

回答ありがとうございます。

参考になりました。

2014/04/01 13:00:40
id:u_7cc No.3

7cc回答回数32ベストアンサー獲得回数142014/03/31 00:52:21

パラメータにdataType: "json"を指定する。
http://api.jquery.com/jQuery.ajax/

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません