jquery中定义数组并给数组赋值后转为json格式为[]问题的解决

时间:2023-03-08 19:03:11
jquery中定义数组并给数组赋值后转为json格式为[]问题的解决

一、问题描述:jquery定义一个空数组,并赋值,结果转为json格式后打印值为空

我原本是这样写的,但是show_data值一直为[]

var export_data = [];
export_data.key = $(".searchVal").val();
export_data.shop_id = $('select[name=shop_id]').val();
export_data.star_time = $('#start_time').val();
export_data.end_time = $('#end_time').val();

var show_data = JSON.stringify(export_data);

二、原因分析:这样的写法是new了一个数组对象,然后给数组对象设置属性,但是数组序列化的时候只会序列化数组中的元素,会忽略对象上的属性和值(https://segmentfault.com/q/1010000004567084)

三、解决:直接用一个空对象来存放属性就行。

把var export_data = [] 改为:var export_data = {};