gpt4 book ai didi

jquery - 使用 jquery 创建 json 数组和 json 项?

转载 作者:行者123 更新时间:2023-12-01 01:05:04 26 4
gpt4 key购买 nike

我做了一个简单的 JavaScript 类,如下所示:

function Horse() {
this.color = 'brown';
this.speed = 'somewhat slow';
}

我将一些实例附加到某些元素,如下所示:

$("#horse1").data('d', new Horse());
$("#horse2").data('d', new Horse());
$("#horse3").data('d', new Horse());

现在我想创建一个 JSON 数组,其中包含每个马对象的 JSON 表示形式。所以我正在这样做:

// How do I create an empty JSON array here?:
var myJsonArray = ?;

var children = $("#horses").children();
for (var i = 0, m = children.size(); i < m; i++) {
var panel = children[i];
var horse = $(panel).data('h');

// And how do I create a JSON rep of my horse here?
var myJsonHorse = new JsonHorse(?);

// Finally, how do I add it to the json array?
myJsonArray.push(myJsonHorse);
}

是的,我的最终目标是在迭代所有的 child 之后得到所有马的单个 json 数组 - 不确定这应该用普通的 javascript 还是 jquery 来完成?

谢谢

----------------编辑--------------------------------

抱歉,我的最终目标是将数组转换为字符串,因此我有一个大型 json 数组转换为字符串,我可以将其提交给将由我的服务器处理的 ajax 调用。

最佳答案

要声明一个数组,您只需要数组文字表示法:

var myArray = [];

push 方法可以正常工作。

另一种可能性是使用 $.map方法:

var myArray = $("#horses").children().map(function (index, el) {
return $(el).data('d');
}).get();
// Will return an array containing:
// [{"color":"brown","speed":"somewhat slow"},
// {"color":"brown","speed":"somewhat slow"},
// {"color":"brown","speed":"somewhat slow"}]

查看示例 here .

然后,要将该数组转换为 JSON 字符串,您可以使用 JSON.stringify 方法(几乎在所有浏览器上都可用,对于 IE < 8,您可以使用 json2.js )。

关于jquery - 使用 jquery 创建 json 数组和 json 项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3049946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com