Javascript 检索外部JSON数据

Javascript 检索外部JSON数据,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我需要能够检索和显示JSON数据从一个网站的应用程序,我正在做。在将它实现到我的应用程序中之前,我想我应该通过在其他地方测试来确保了解它是如何工作的。我编写了以下HTML和JSON代码来测试它,但是如果我运行应用程序,我会得到UncaughtTypeError:无法读取位于的undefined的属性“0”file:///android_asset/www/projectName.html:11 我做错了什么 HTML: 将$.get更改为$.getJSON,或者在$.get中设置数据类型,如下所

我需要能够检索和显示JSON数据从一个网站的应用程序,我正在做。在将它实现到我的应用程序中之前,我想我应该通过在其他地方测试来确保了解它是如何工作的。我编写了以下HTML和JSON代码来测试它,但是如果我运行应用程序,我会得到UncaughtTypeError:无法读取位于的undefined的属性“0”file:///android_asset/www/projectName.html:11 我做错了什么

HTML:


$.get
更改为
$.getJSON
,或者在$.get中设置数据类型,如下所示

 $.get('testData.json', function(data) {
     alert('get performed');
     $("p").html(obj[0].data_set.data1);
 },'json');
更新

我还意识到您没有正确地解析这样尝试的json

 $.get('testData.json', function(data) {
     alert('get performed');
     $("p").html(obj[0].data_set.data1);
 },'json');

您正在使用
eval
,这是不必要的。我建议你读一下

您不需要在
data
上使用
eval
,因为它已经是一个JSON对象。代码的问题在于,您试图将
数据集
作为
数据
的属性进行访问。但是,
data
实际上是一个数组,有一个未命名的对象。该对象具有成员
数据集
。反过来,
data\u set
是一个对象,而不是数组,因此不能使用
data\u set[0]
。您想要的是:

$(document).ready(function(){
    $("button").click(function(){
        $.getJSON('testData.json', function(data) {
            alert('get performed');
            $("p").html(data[0].data_set.data1);
        });
    });
});​
查看以下内容:

我包含了一些代码来遍历整个数据结构(而不仅仅是一条可能的路径)。承担你需要的部分;-)


$.get
更改为
$.getJSON
会给我一个错误未捕获语法错误:在file:///android_asset/www/projectName.html:1That 工作正常,但是如果我包含
'json'
或将url更改为我试图访问的实际网站,我在上一次评论中仍然会出现错误。该网站的json数据结构与我给出的示例相同。您使用的是
eval
,这是不必要的。我建议您阅读有关使用
data[0]
而不是
data\u set[0]
的内容,就像Jorge上面建议的那样,但是删除
var obj=eval(“+data+”)
并将其下面的行更改为
$(“p”).html(数据[0].data\u set.data1)向我提供错误Uncaught TypeError:无法读取在处未定义的属性“data1”file:///android_asset/www/projectName.html:10I 复制我发布的确切JSON数据并将其粘贴回testData.JSON,然后用您在原始注释中提供的代码替换第二组脚本标记之间的代码,我仍然得到那个错误。但是,如果我将
$.get
更改为
$.getJSON
,那么它就可以工作了。
$(document).ready(function(){
    $("button").click(function(){
        $.getJSON('testData.json', function(data) {
            alert('get performed');
            $("p").html(data[0].data_set.data1);
        });
    });
});​
$(document).ready(function () {
    $("button").click(function () {
        $.ajax({
            url: '/gh/gist/response.json/37ab4c69a04628428ce2',
            dataType: 'json',
            success: function (json) {
                // to display everything
                /*$.each(json, function (k, v) {
                    $.each(v.data_set, function (key, value) {
                        $('p').append(value);
                    });
                });*/

                // to display just the string
                $('p').html(json[0].data_set.data1);
            }
        });
    });
});