2017-01-23 15 views
0

我有這個JSON文件JSON OBJ成JavaScript數組

[ 
{"name": "name1", "start": "01/03/2017", "end": "01/03/2017"}, 
{"name": "name2", "start": "01/03/2017", "end": "01/03/2017"}, 
{"name": "name3", "start": "01/03/2017", "end": "01/03/2017"} 
] 

和-i需要這個結果在JavaScript

var cubes = [ 
    {name: "name1", start: "01/03/2017", end: "01/25/2017"}, 
    {name: "name2", start: "01/04/2017", end: "01/26/2017"}, 
    {name: "name1", start: "06/15/2017", end: "06/18/2017"},  
    {name: "name3", start: "01/05/2017", end: "01/27/2017"} 
]; 

我:

cubes = []; 

$.getJSON('urlaub.json', function(data) { 

    var obj = data; 
    for (elem in obj) { 
     console.log(obj[elem]); 
     cubes.push(obj[elem]); 
    }; 
}); 

但陣列立方體是有史以來空和.json firefox意味着json File Line 1中的語法錯誤。但對象已創建。陣列是空的。嘗試了很多。哪裏不對?

+1

'JSON.parse()'? – kukkuz

+0

我試過json解析太 – MDnew

+0

哪裏是'{name:「name1」,start:「06/15/2017」,end:「06/18/2017」},'來自? –

回答

0

JSON.parse是@kukkuz說的是你所追求的

var data = JSON.parse(`[ 
    {"name": "name1", "start": "01/03/2017", "end": "01/03/2017"}, 
    {"name": "name2", "start": "01/03/2017", "end": "01/03/2017"}, 
    {"name": "name3", "start": "01/03/2017", "end": "01/03/2017"} 
]`) 

console.log(data); //shows an array 

爲清楚起見,反引號`有沒有允許這是多條線路上。你可以簡單地將它減少到一行,並添加正常的單引號。

要使用你的榜樣 -

var cubes = null; 

function getMyData() { 
    return $.getJSON('urlaub.json', function(data) { 
     return data; 
    }).error(function(err) { alert("error - " + err) }); 
}; 

getMyData().then(function(data){ 
    cubes = JSON.parse(data); 
}); 
+0

這就是我tryed。不工作$ .getJSON('urlaub.json',函數(數據){ \t set = JSON.parse(data); \t cobes = set; }); – MDnew

+0

和JSON的結果是這是我需要在JavaScript中(作爲示例) – MDnew

+0

你能告訴我們在控制檯中的錯誤...當我在我的測試這個,它的工作原理。 – dmoo

0
cubes = []; 
$.getJSON('urlaub.json', function(data) { 
    var obj = data; 
    for (elem in obj) { 
     debugger 
     cubes.push(obj[elem]); 
     console.log(obj[elem]); 
    }; 
    console.log(cubes); 
}); 

我想上面的代碼,它的工作!

+0

設置外部調試功能。其空 – MDnew

-1

感謝,

var arr = [];  
var obj = data;  
$.each(obj,function(key,value){  
    arr.push("< LI>" + value + "< /LI>");  
});  
var val=arr.join('');  
console.log(val); 

嘗試。

li

+0

var cubes = []; $ .getJSON( 'urlaub.json',函數(數據){ \t \t VAR OBJ =數據; \t。每$(OBJ,功能(鍵,值){ \t \t cubes.push(值); \t}); \t變種VAL = cubes.join( ''); \t的console.log(VAL); \t }); console.log(cubes);多維數據集是空的 – MDnew

+0

一樣喜歡你,但外面的json功能是立方體空 – MDnew

+0

ü可以嘗試「

  • ‘+鍵+’
  • 」,「
  • ‘+價值+’
」代替值 –

0

Docs for $.getJSON更換LI

var cubes = null; 
$.getJSON('urlaub.json', function(data) { 
    cubes = data; 
    console.log(cubes); 
}); 
0

對不起@ll。 你所有的解決方案都可以工作,我也是。 我在其他工作站上編程。 所以我總是保存錯誤的文件o O.

請,對不起。但非常感謝您的幫助。

非常感謝你