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 = {};