【问题标题】:syntax of accessing json data loaded with $.getJSON访问使用 $.getJSON 加载的 json 数据的语法
【发布时间】:2013-07-23 00:34:46
【问题描述】:

我在按钮上有一些非常简单的代码来加载一些 json,这是我要访问的 json 中的数据:-

function loadJson(){
    var json = $.getJSON("samplejson.js");
    document.getElementById('header2').innerHTML = json;
}

samplejson.js 的内容是:-

人 = { “名称”:“尼古拉斯”, “年龄”:“22”, “活着”:真的, “性别”:“男性”, “力量”:“1” }

单击运行该函数的按钮会将 [object Object] 返回到 innerHTML。 我知道在这种情况下,json 是一个对象,所以这是意料之中的。

例如,如果我想将 innerHTML 更改为“Nicholas”,我需要语法。 json.person.name 不起作用。 json[0].name 和 json.person[0].name 都没有。我尝试了其他一些变体,但没有一个成功。

【问题讨论】:

    标签: json syntax getjson


    【解决方案1】:

    $.getJSON 返回一个 jQuery 异步请求对象,而不是 ajax 调用的结果。如果要从ajax获取数据,需要在回调中使用。

    $.getJSON("samplejson.js").done(function (json) {
        $("#header2").html(json);
    });
    

    【讨论】:

    • 谢谢。虽然对我不起作用。我添加了一些警报,所以我可以看到它有多远.. function loadJson(){ alert("hello json"); $.getJSON("samplejson.js").done(function (json) { $("#header2").html(json); alert(json); }); } 第一个警报运行,第二个没有。ggfxserve.co.uk/html5/adp/index.html
    • @galaxyg 似乎 samplejson.js 不发出 JSON 或无法正常工作
    • 谢谢!我现在使用了一些替代 JSON 并且一切正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 2011-05-31
    • 2012-09-15
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多