2017-01-23 36 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.

请,对不起。但非常感谢您的帮助。

非常感谢你