使用jQuery.map后使用JSON.stringify的问题

Cra*_*lle 3 javascript jquery json web-scraping

我正在编写一个bookmarklet(最终将是一个插件)来抓取指定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);
Run Code Online (Sandbox Code Playgroud)

第二段代码正确地创建了数组中的每个对象,但生成的数组不会记录生成的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);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Jus*_*ier 10

根据以下文件.map:

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

你有没有尝试过:

var json = JSON.stringify(dMap.get());
Run Code Online (Sandbox Code Playgroud)