2013-05-23 2 views
2

Я возвращаю массив с моим ajaxCall который выглядит следующим образом: http://d.pr/i/ojR4Преобразование массива с объектами в JSONstring

Внутри объектов Json (пример: http://d.pr/i/aAM2) Когда я нажать это мой файл .hbs (магистральный) это невозможно зацикливать на нем, потому что это массив, и он принимает только обычный JSON.

Можно ли полностью преобразовать это в JSON?

Мой renderfunction на мой взгляд ниже:

render: function(){ 
    var self = this; 
    var tripData; 
    console.log("[TripListView] render"); 
    $.ajax({ 
     url: Util.api + "/getalltrips", 
     type:"GET", 
     success: function(data){ 
      console.log(data); // This is the output given 
      tripData = data; 

     }, error:function(){ 
      console.log(arguments); 
     } 
    }); 
    $('#container').html(this.template({trips: data})); 
    return this; 
} 
+1

Нет такой вещи, как «простой JSON». – SLaks

+0

Какая у вас проблема? – SLaks

+0

У меня есть массив с объектами в нем. В объектах находится JSON. Мне нужно удалить массив и сделать JSON. Своего трудно понять, я знаю, не просто объяснить эфир. Теперь у меня есть массив (объект, объект, объект, объект), и мне нужен объект (объект, объект, объект) –

ответ

1

Если вы не можете отправить массив обернуть его в объект и использовать его. Но причиной может быть из-за доступа к данным на стороне вызова AJAX.

$('#container').html(this.template({trips: data}));<-- here data would be undefined 

Попробуйте это: -

var self = this 
success: function(data){ 
      console.log(data); // This is the output given 
      tripData = {tripsResponse:data};// You probably don't need this since your actual issue might be accessing `data` below the ajax call. 
      $('#container').html(self.template({trips: tripData })); // I have moved this here since placing this after ajax call doesn't make sense, as it would have got executed before your callback. 
     } 
     //.... 
+1

Превосходно. Работал как шарм. Большое спасибо! (и мне пришлось положить $ ('# container) .. в моей успешной функции действительно. Довольно глупо, я этого не видел. Вы исправили две мои проблемы, когда я только спрашивал об одном. Thx много! –

+0

Wow. Замечательно, что это сработало. :) – PSL

+1

Да, я знаю. Мне пришлось ждать еще 5 минут и потом забыть об этом. ;) Готово кстати. –

0

Я не совсем уверен, что вы это проблема, но я возьму догадку. Если вы создаете Dictionary<object, object> и задаете свой ключ для некоторой строки, такой как «данные» и значение, которое будет вашим массивом, при его сериализации вы получите объект JSON. Вот краткий пример:

var theList = new List<string>(); 
var theDict = new Dictionary<string, object>(); 
theDict.Add("data", theList); 
Смежные вопросы