2

我有一个两部分的问题(对 JSON 很新)

  1. 我需要用 attr 'data-id' 构建一个 json 对象。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);

但是,这不能正常工作,我最终只是将一串对象加在一起。

4

2 回答 2

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);
于 2013-08-06T22:49:31.023 回答
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);
于 2013-08-06T22:52:24.170 回答