2013-08-06 3 views
2

У меня есть две части вопроса (очень новый формат JSON)строит строку JSON

  1. Мне нужно построить объект JSON из ATTR 'данных ид. Может ли объект JSON быть единственным «массивом» чисел?
  2. Я получил код для этого, но я изо всех сил, чтобы построить объект JSON, следующим образом:

код:

var displayed = {}; 
$('table#livefeed tr').each(function (i) { 
    var peopleID = $(this).attr("data-id"); 
    //console.log("id: " + peopleID); 
    if(peopleID!="undefined") displayed += peopleID; 
}); 
console.log(displayed); 

Однако это не работает должным образом, я просто в конечном итоге с строка добавленных вместе.

+0

Параметр '+' оператор для строк (в общем случае). Ваш 'отображается' в литерале объекта. – woofmeow

ответ

6

Объект JSON может быть массивом чисел.

попробовать что-то вроде этого:

var displayed = []; 
$('table#livefeed tr').each(function (i) { 
    var peopleID = $(this).attr("data-id"); 
    if(peopleID!="undefined") 
     displayed.push(peopleID); 
}); 
console.log(displayed); 

Чтобы превратить его в формат JSON,

JSON.stringify(displayed); 
0

Сначала вы создаете и объект затем использовать JSON.stringify(object); для создания строки. Но у вас также есть ошибка. Если вы проверяете peopleID быть определены вам нужно использовать typeof в качестве неопределенного атрибута не будет строка «не определено»:

var displayed = []; 
$('table#livefeed tr').each(function (i) { 
    var peopleID = $(this).attr("data-id"); 
    //console.log("id: " + peopleID); 
    if(typeof(peopleID)!="undefined") displayed.push(peopleID); 
}); 
console.log(displayed); 
var jsonDisplay = JSON.stringify(displayed); 
console.log("JSON: " + jsonDisplay); 
Смежные вопросы