负载JS文件到一个变量

问题描述:

我有一个enpty阵列和文件与一些数组值:负载JS文件到一个变量

var myArray = [];

file.json:

... 
array[foo]; 
array[bar]; 
array[otherValue]; 
... 

最新最好的方式来加载该文件变成一个变量?

+0

'file.json'无效JSON-你需要确保这是使用JSON数组语法(如:'[ “富”, “酒吧”, “otherValue”]')在文森特的解决方案之前,将在下面工作。即使这是正常的Javascript,也没有分配发生。 –

假设你正在使用节点,只是做var myArray = require('path/to/json/file');

+0

不,我不能使用节点,我只有可用的jQuery。 –

+0

那么你从哪里加载文件? – pppetrov

+0

此文件来自我的主机上的根文件夹。 –

根据你当然JSON文件的格式。

Usign的jQuery:

var myArray = []; 
    $.getJSON("ajax/file.json", function(data) { 
     $.each(data, function(key, val) { 
      myArray.push(key +" "+ val); 
     }); 
    }); 
+0

本例中的'myArray'被困在回调的范围内。你很想要更像这样的东西:'var myArray = []; $ .getJSON('file.json',function(data){$ .each(data,function(key,value){myArray.push(value)})});'这样来自外部JSON文件的所有值都是按原样推入现有阵列。 –

+0

你说得对,我的不好。 – Vincent