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回まで
  • 登録:
  • 終了:2014/04/01 12:59:19
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:snow0214 No.1

回答回数470ベストアンサー獲得回数116

ポイント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

回答回数470ベストアンサー獲得回数116ここでベストアンサー

ポイント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

回答回数4971ベストアンサー獲得回数2153

ポイント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

回答回数32ベストアンサー獲得回数14

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

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

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

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

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

回答リクエストを送信したユーザーはいません