如何使用JQuery向JSON添加子数组?

如何使用JQuery向JSON添加子数组?,jquery,json,maps,Jquery,Json,Maps,我试图创建一个JSON对象,如下所示: var request = { location : pyrmont, radius : '50000', types: ['amusement_park', 'store'] //Here I want to replace with a javascript array }; 这个JSON可以很好地作为GoogleMapsAPI的输入,但是当我尝试用 这样的javascript数组会失败。感谢您的帮助 var allVals

我试图创建一个JSON对象,如下所示:

var request = {
    location : pyrmont,
    radius : '50000',
    types: ['amusement_park', 'store'] //Here I want to replace with a javascript array 
};
这个JSON可以很好地作为GoogleMapsAPI的输入,但是当我尝试用 这样的javascript数组会失败。感谢您的帮助

var allVals = [];
$('#geo_form :checked').each(function() {
  allVals.push("'" + $(this).val() + "'");
});
alert("allVals -> " + allVals);  //allVals -> 'amusement_park','lodging'

var request = {
    location : pyrmont,
    radius : '50000',
    //types: ['amusement_park', 'store']
    types: [allVals]
};

allVals
已经是一个数组,不需要在
request
对象中用括号括起来。通过将数组括在括号中,可以将
allVals
数组设置为新数组的最零索引

var request = {
    location : pyrmont,
    radius : '50000',
    types: allVals
};
此外,将值推送到数组中时,不需要将其括在引号中,因为它已经是
字符串
对象

事实上,通过最初在请求对象内创建一个空数组,并通过直接访问属性推送到对象上,可以避免在请求对象外声明变量

示例:

var request = {
    types : []
};
request.types.push($(this).val());

对于大多数数据结构问题,明智的做法是将对象打印到控制台调试器,以查看对象中包含哪些值。Firefox有流行的firebug,Chrome,Opera和IE的新版本都内置了控制台调试器。使用方法
console.log(arg)
打印

allVals
已经是一个数组,您不需要在
请求
对象中用括号括起来。通过将数组括在括号中,可以将
allVals
数组设置为新数组的最零索引

var request = {
    location : pyrmont,
    radius : '50000',
    types: allVals
};
此外,将值推送到数组中时,不需要将其括在引号中,因为它已经是
字符串
对象

事实上,通过最初在请求对象内创建一个空数组,并通过直接访问属性推送到对象上,可以避免在请求对象外声明变量

示例:

var request = {
    types : []
};
request.types.push($(this).val());

对于大多数数据结构问题,明智的做法是将对象打印到控制台调试器,以查看对象中包含哪些值。Firefox有流行的firebug,Chrome,Opera和IE的新版本都内置了控制台调试器。使用方法
console.log(arg)
打印

展开:[]是“new Array()”的缩写,所以当您键入[allVals]时,您要求它发送的是“new Array(allVals)”,它创建了数组(0=Array(/*allVals键和值在这里*/))展开:[]是“new Array()”的缩写,所以当您键入[allVals]时,您要求它发送的是“new Array(allVals)”,这将创建数组(0=数组(/*allVals键和值在此处*/)。如果这回答了您的问题,请单击复选标记。:)如果这回答了您的问题,请单击复选标记。:)