无法从使用json文件创建的对象访问数据

无法从使用json文件创建的对象访问数据,json,object,Json,Object,我正在尝试访问使用json文件创建的x中的数据,我无法访问它显示的未定义数据,但我可以在控制台中看到该对象 $(document).ready(function(){ var x ={}; $.getJSON("countries.json", function(json) { for (i in json['results']) { x[json['results'][i]['curre

我正在尝试访问使用json文件创建的x中的数据,我无法访问它显示的未定义数据,但我可以在控制台中看到该对象

$(document).ready(function(){
    var x ={};
      $.getJSON("countries.json", function(json) {
          for (i in json['results'])
          {
              x[json['results'][i]['currencyId']] = json['results'][i]['name'];
          }
    });
    console.log(x);
    //console.log(x.AED); cannot access values using property names output is undefined
输出:


正如Ibsn在评论中所说,您正在检查赋值之前的值

您应该将结果记录在回调函数中

$(document).ready(function(){
var x ={};
  $.getJSON("countries.json", function(json) {
      for (i in json['results'])
      {
          x[json['results'][i]['currencyId']] = json['results'][i]['name'];
      }
      console.log(x);
});

getJSON是异步的,所以您可能试图在对该对象设置属性之前记录该值。