0
{
    "status":"success",
    "data":
        {
            "title":"Testing",
            "token":"77fl",
            "questions":
                [{
                    "title":"How are you?",
                    "token":"UHGXI",
                    "kind":"multiple-choice",
                    "options":
                        [{
                            "content":"Good",
                            "token":"tLAzWd",
                            "kind":"text"
                         },
                    {
                          "content":"bad",
                          "token":"8LRR3t",
                          "kind":"text"
                     }]}]}}

これまでJSONデータを解析したことがありません...これを解析するための最初のステップは何ですか? もちろん、これらすべてが必要なわけではありません。'title'、'kind'、'content' のすべてのインスタンスが必要です。

文字列の解析に似ていますか?

これはそれをつかむ私の機能です...

$(document).ready(function(){
  $("button").click(function(){
    $.getJSON("http://quicksurvey.herokuapp.com/api/surveys/77fl/ask.json",function(result){
      });
    });
  }); 
});

返されたデータは正確にはどこに保存されますか? それは「結果」にありますか?

私はこれらすべてに非常に慣れていないので、明らかな間違いを犯している場合はお詫び申し上げます。私は自分の質問への回答を探し回っていますが、これに関する簡単な紹介が見つかりません。javascriptを使ってパースしたい。

4

2 に答える 2

3

答えはイエスです。結果の中に保存されます。jQuery 関数は、返された JSON 文字列を受け取り、その文字列を表すネイティブの JavaScript オブジェクトに変換します。名前付きの json 文字列を返さなかった場合、result変数はオブジェクト自体になります。しかし、あなたの場合、オブジェクトに名前を付けたdataので、次のようにアクセスする必要があります。

$(document).ready(function(){
  $("button").click(function(){
    $.getJSON("http://quicksurvey.herokuapp.com/api/surveys/77fl/ask.json",function(result){
         //result.data 
         //result.status
      });
    });
  }); 
});
于 2013-04-15T05:01:16.373 に答える
1

はい、できます。jSON オブジェクトとして解析するだけです。プロパティと配列には、javascript オブジェクトまたはプロパティとしてアクセスできます。フィドル

JS バージョン

for(var i =0; i<result.data.questions.length; i++)
{
    alert(result.data.questions[i].title + ' ' + result.data.questions[i].kind);
}

Jquery:-

alert(result.data.title);
$.each(result.data.questions,function(i,o){
    alert(o.title + ' ' + o.kind);
});
于 2013-04-15T05:05:40.487 に答える