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 数据......解析这个的第一步是什么?我显然不需要所有这些,我需要“标题”、“种类”和“内容”的所有实例。

你这样做类似于解析字符串吗?

这是我抓住它的功能......

$(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 回答