创建JSON对象非常简单。不知道问题出在哪里。
试图像这样创建一个JSON对象:
var result = [
{"member":"member1", "person":"person1"},
{"member":"member2", "person":"person2"}
];
以下是代码:
$ = cheerio.load('<table><tbody><tr><td>message1</td><td>person1</td></tr><tr><td>message2</td><td>person2</td></tr><tr><td>message3</td><td>person3</td></tr></tbody></table>');
var result = {};
$('tr').each(function(i, row){
result[i].message.push($(this).find('td').eq(0).text());
result[i].person.push($(this).find('td').eq(1).text());
});
错误:
TypeError: Cannot read property 'message' of undefined
答案 0 :(得分:1)
var cheerio = require("cheerio");
$ = cheerio.load('<table><tbody><tr><td>message1</td><td>person1</td></tr><tr><td>message2</td><td>person2</td></tr><tr><td>message3</td><td>person3</td></tr></tbody></table>');
var result = [];
$('tr').each(function(i, row){
result[i] = {
message: $(this).find('td').eq(0).text(),
person: $(this).find('td').eq(1).text()
};
});
console.log (result);
结果:
[ { message: 'message1', person: 'person1' },
{ message: 'message2', person: 'person2' },
{ message: 'message3', person: 'person3' } ]
答案 1 :(得分:0)
这就是我想要的:
var result = new Array();
$('tr').each(function(i, row){
var ele = {
message: $(this).find('td').eq(0).text(),
person: $(this).find('td').eq(1).text()
};
console.log(ele);
result.push(ele);
});
console.log(result);