Javascript 从spans的数据元素创建json数组
我是JSON新手,我正在尝试创建一个JSON数组,可以将其发送到php文件进行处理。我希望json看起来与下面类似Javascript 从spans的数据元素创建json数组,javascript,jquery,json,Javascript,Jquery,Json,我是JSON新手,我正在尝试创建一个JSON数组,可以将其发送到php文件进行处理。我希望json看起来与下面类似 {"clubs":[ {"number":"12", "type":"break"}, {"number":"4", "type":"group"}, {"number":"87", "type":"tring"}, {"number":"7", "type":"samestuff"} ]} 我可以将元素放入一个数组中,但结果如下: 类型:break,编号:12,类型:gro
{"clubs":[
{"number":"12", "type":"break"},
{"number":"4", "type":"group"},
{"number":"87", "type":"tring"},
{"number":"7", "type":"samestuff"}
]}
我可以将元素放入一个数组中,但结果如下:
类型:break,编号:12,类型:group,编号:4,类型:tring,编号:87,类型:samestuff,编号:7
有人能解决这个问题,让它创建一个数字/类型的json数组吗?我已在下面附上我的当前代码
$(文档).ready(函数(){
$(“#测试按钮”)。单击(函数(){
var俱乐部=[];
$(“.spanme”)。每个(函数(){
var myarray=[];
变量类型=$(this).data(“类型”);
push(“类型:”+type);
变量编号=$(此).data(“编号”);
myarray.push(“数字:+number”);
梅花推(myarray);
});
控制台日志(俱乐部)
});
});代码>
测试按钮
跨度
跨度
跨度
span
您需要将数据推送到数组中。因此,首先使用clubs
键创建一个对象
,并将对象形式的值推送到该数组中。可以使用{}
创建对象
$(文档).ready(函数(){
$(“#测试按钮”)。单击(函数(){
var obj={'clubs':[]};
$(“.spanme”)。每个(函数(){
变量类型=$(this).data(“类型”);
变量编号=$(此).data(“编号”);
obj.clubs.push({type,number});
});
控制台日志(obj)
});
});代码>
测试按钮
跨度
跨度
跨度
span
您需要将数据推送到数组中。因此,首先使用clubs
键创建一个对象
,并将对象形式的值推送到该数组中。可以使用{}
创建对象
$(文档).ready(函数(){
$(“#测试按钮”)。单击(函数(){
var obj={'clubs':[]};
$(“.spanme”)。每个(函数(){
变量类型=$(this).data(“类型”);
变量编号=$(此).data(“编号”);
obj.clubs.push({type,number});
});
控制台日志(obj)
});
});代码>
测试按钮
跨度
跨度
跨度
span
使用querySelectorAll
获取所有带有公共类的span&使用map
返回数组。使用spread…
将允许使用数组方法,如map
。使用getAttribute
var x=[…document.querySelectorAll('.spanme')].map(函数(项){
返回{
“数字”:item.getAttribute('data-number'),
“类型”:item.getAttribute('data-type')
}
})
var someObj={
“俱乐部”:x
}
console.log(someObj)
测试按钮
跨度
跨度
跨度
span
使用querySelectorAll
获取所有带有公共类的span&使用map
返回数组。使用spread…
将允许使用数组方法,如map
。使用getAttribute
var x=[…document.querySelectorAll('.spanme')].map(函数(项){
返回{
“数字”:item.getAttribute('data-number'),
“类型”:item.getAttribute('data-type')
}
})
var someObj={
“俱乐部”:x
}
console.log(someObj)
测试按钮
跨度
跨度
跨度
span
您可以将元素映射到对象中以获得结果
$(文档).ready(函数(){
$(“#测试按钮”)。单击(函数(){
var结果={
俱乐部:$('.spanme').map(函数(){
返回{number:this.getAttribute('data-number'),type:this.getAttribute('data-type');
}).get()
};
控制台日志(结果);
});
});代码>
测试按钮
跨度
跨度
跨度
span
您可以将元素映射到对象中以获得结果
$(文档).ready(函数(){
$(“#测试按钮”)。单击(函数(){
var结果={
俱乐部:$('.spanme').map(函数(){
返回{number:this.getAttribute('data-number'),type:this.getAttribute('data-type');
}).get()
};
控制台日志(结果);
});
});代码>
测试按钮
跨度
跨度
跨度
span