以正确的格式从多维Javascript数组创建JSON对象以提交到Rails

以正确的格式从多维Javascript数组创建JSON对象以提交到Rails,javascript,jquery,ruby-on-rails,arrays,Javascript,Jquery,Ruby On Rails,Arrays,大家好,我正在尝试创建一个javascript多维数组,如下所示 $('#rfp_import_table > tbody > tr').each(function(row) { TableData[row] = { "sheet_name": $('#sheet_name_' + i).text(), "last_row": $('#sheet_last_row_' + i).text(), "sheet_id": $(

大家好,我正在尝试创建一个javascript多维数组,如下所示

$('#rfp_import_table > tbody  > tr').each(function(row) {

    TableData[row] =  {
        "sheet_name": $('#sheet_name_' + i).text(),
        "last_row": $('#sheet_last_row_' + i).text(),
        "sheet_id": $('#sheet_id_' + i).text(),
        "sheet_import": $('#sheet_import_' + i).is(':checked'),
        "sheet_import_column": $('#sheet_import_column_' + i).val()
    }
    i++;
});

TableData = $.toJSON(TableData);
这将创建一个如下所示的数组

[
  {
    "sheet_name": "Offeror Instructions",
    "last_row": "99",
    "sheet_id": "0",
    "sheet_import": true,
    "sheet_import_column": "C"
  },
  {
    "sheet_name": "S3 SAI_Availability_Scale",
    "last_row": "22",
    "sheet_id": "38",
    "sheet_import": true,
    "sheet_import_column": "C"
  },
  {
    "sheet_name": "S4 SAI_Deploy_and_Admin",
    "last_row": "21",
    "sheet_id": "39",
    "sheet_import": true,
    "sheet_import_column": "C"
  }
]
我需要一个可以提交到rails的数组(使用ajax$jquery而不是form_for..)。我相信我需要的格式是

[“sheets”:
  {
    "sheet_name": "Offeror Instructions",
    "last_row": "99",
    "sheet_id": "0",
    "sheet_import": true,
    "sheet_import_column": "C"
  },
  {
    "sheet_name": "S3 SAI_Availability_Scale",
    "last_row": "22",
    "sheet_id": "38",
    "sheet_import": true,
    "sheet_import_column": "C"
  },
  {
    "sheet_name": "S4 SAI_Deploy_and_Admin",
    "last_row": "21",
    "sheet_id": "39",
    "sheet_import": true,
    "sheet_import_column": "C"
  }
]
修改javascript以生成正确格式的正确方法是什么


提前感谢。

您需要的格式不是有效的JavaScript对象。我想我应该澄清一下,问题是将数组转换为JSON对象,很抱歉造成混淆。没有“JSON对象”这样的东西JSON是一种数据格式,恰好基于JavaScript对象的语法。JSON格式的对象?
var sampleObj1 = {
                    "a": {
                            "id": "1",
                            "gravatar": "03ce78e04102c67d6144"
                         },
                    "b": {
                            "id": "1",
                            "name": 'asd'
                         },
                    "c": {
                            "id": "1702c3d0-df12-2d1b",
                            "name": "Jeff"
                         }
                    };

var sampleTestArr = Object.keys(sampleObj1).map(function(data){
    return sampleObj1[data];
});