2016-11-11 47 views
0

我有一個enpty陣列和文件與一些數組值:負載JS文件到一個變量

var myArray = [];

file.json:

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

最新最好的方式來加載該文件變成一個變量?

+0

'file.json'無效JSON-你需要確保這是使用JSON數組語法(如:'[ 「富」, 「酒吧」, 「otherValue」]')在文森特的解決方案之前,將在下面工作。即使這是正常的Javascript,也沒有分配發生。 –

回答

1

假設你正在使用節點,只是做var myArray = require('path/to/json/file');

+0

不,我不能使用節點,我只有可用的jQuery。 –

+0

那麼你從哪裏加載文件? – pppetrov

+0

此文件來自我的主機上的根文件夾。 –

1

根據你當然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