3

我正在编写一个书签(最终将成为一个插件)来在指定的 div 下抓取 jQuery 中的列表项的网页。我在使用时遇到问题JSON.stringify

以下代码允许我将每个单独的项目转换为 JSON,但在join用于连接每个字符串时会出现问题。

var dMap = $("div").filter($("#<div-id>")).find("li").map(function() {
    var iObject = {
        id: $(this).data('id'),
        text: $(this).text(),
        list_name: $(this).closest('div').attr('id')
    };
    return JSON.stringify(iObject);
});
console.log(dMap);

第二段代码正确地创建了数组中的每个对象,但生成的数组不记录生成的 JSON。

var dMap = $("div").filter($("#,div-id.")).find("li").map(function() {
    return {
        id: $(this).data('id'),
        text: $(this).text(),
        list_name: $(this).closest('div').attr('id')
    };
});
console.log(dMap);
var json = JSON.stringify(dMap);
console.log(json);

有任何想法吗?

4

1 回答 1

10

根据以下文档.map

由于返回值是一个 jQuery 包装的数组,因此 get() 返回的对象与基本数组一起使用是很常见的。

你有没有尝试过:

var json = JSON.stringify(dMap.get());
于 2012-08-07T14:29:04.300 回答