读取json文件并将数据(作为json)保存在列表中

时间:2013-02-24 00:35:38

标签: javascript

我是JavaScript的新手,我正在尝试从文件中读取数据并将其保存在列表中,以便我以后可以检索它。类似的东西:

sample.json

{
  "circles": [
    {"x":14,"y":2,"z":4,"r":50},
    {"x":14,"y":2,"z":4,"r":50}
  ]
}

我在寻找的是:

var circle_list = []
circle_lst = some_function_which_reads_json_from_file('sample.json')
//Now circle list contains
circle_list = [
  {"x":14,"y":2,"z":4,"r":50},
  {"x":14,"y":2,"z":4,"r":50}
]

稍后我可以做类似的事情:

for (var i = 0; i <circle_list.lenght;i++){
  //do osmething
}

我正在调查

$.getJSON("sample.json" , function(data){
  //
});

但后来我才知道这个调用是异步的...但我需要保持执行顺序。

1 个答案:

答案 0 :(得分:2)

不要维持执行顺序。这将在获取期间锁定浏览器。仅用作绝对的最后手段:

var circle_list;
$.ajax({'dataType': 'json', url: 'sample.json', 'async': false})
    .done(function(json) {
        circle_list = json;
});

相反,你至少可以做其他几件事:

  1. 使用回调。由于延期,它并不一定都在一个地方。
  2. 将JSON与页面的其余部分一起加载,然后从DOM中获取它。