2017-01-23 3 views
0

У меня есть этот файл JSonJSON OBJ в яваскрипта массив

[ 
{"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]); 
    }; 
}); 

Но массив кубов это когда-либо empty и .json firefox означает синтаксическую ошибку в json File Line 1. Но были созданы объекты. Массив всегда пуст. Что не так?

+1

'JSON.parse()'? – kukkuz

+0

Я тоже попробовал json parse – MDnew

+0

где '{name:" name1 ", start:" 06/15/2017 ", конец:" 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

вот что я пытался. Dont работает $ .getJSON ('urlaub.json', функция (данные) { \t комплект = JSON.parse (данные); \t cobes = множество; }); – 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

установить отладочную функцию outsite. его пустой – 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 с li

+0

var cubes = []; $ .getJSON ('urlaub.json', функция (данные) { \t \t вар OBJ = данные; \t $ .each (объект, функция (ключ, значение) { \t \t cubes.push (значение); \t}); \t вар Val = cubes.join (''); \t console.log (Val); \t }); console.log (кубы); кубики пуста – MDnew

+0

же, как и вы, но за пределами функции JSON является кубики пустые – MDnew

+0

и можно попробовать «

  • „+ ключ +“
  • », «
  • „+ значение +“
» вместо значения –

0

жалкую @ll. Все ваши решения работают, мой тоже. Я программировал на другой рабочей станции. поэтому я всегда сохранял неправильные файлы o O.

Прошу прощения. но большое спасибо за вашу помощь.

Большое спасибо