Javascript 创建具有多个值的JSON

Javascript 创建具有多个值的JSON,javascript,json,Javascript,Json,每次单击按钮BTN时,我都需要创建一个包含数据的JSON。下面是我如何创建JSON的: $(document).ready(function () { var maj = {}; $("#btnSubmitRejetRefModele").click(function() { maj['one'] = 'a' maj['two'] = 'b' maj['three'] = 'c' } 值a、b、c每次都在变化,我想用以

每次单击按钮BTN时,我都需要创建一个包含数据的JSON。下面是我如何创建JSON的:

$(document).ready(function () {
    var maj = {};

    $("#btnSubmitRejetRefModele").click(function() {
        maj['one'] = 'a'
        maj['two'] = 'b'
        maj['three'] = 'c'

    }
值a、b、c每次都在变化,我想用以下结构将每个值存储在JSON中:

maj = {
  "0" : {'one':'a','two':'b','three':'b'} , 
  "1" : {'one':'a2','two':'b2','three':'c2},
  // ...
}

如何在每次单击按钮时在JSON中编码和附加数据。此JSON将在post方法中用于向PGsql插入值。您需要检查当前对象的大小,并将数据插入到该大小的位置:

$document.readyfunction{ var maj={}; $btnSubmitRejetRefModele.clickfunction{ 变量大小=Object.keysmaj.length; 风险值数据={ 一:“a'+尺寸+1, 两个:“b”+尺寸+1, 三:“c”+尺寸+1 } 主[尺寸]=数据; 控制台。清除; console.logmaj; }; };
添加您需要检查当前对象的大小,并将数据插入到该大小的位置:

$document.readyfunction{ var maj={}; $btnSubmitRejetRefModele.clickfunction{ 变量大小=Object.keysmaj.length; 风险值数据={ 一:“a'+尺寸+1, 两个:“b”+尺寸+1, 三:“c”+尺寸+1 } 主[尺寸]=数据; 控制台。清除; console.logmaj; }; };
Add您应该跟踪按钮点击次数,并在创建JSON对象的新部分时使用它

var maj = {};
var counter = 0;

$("#btnSubmitRejetRefModele").click(function() {
    var temp = {}
    temp['one'] = aNewValue
    temp['two'] = bNewValue
    temp['three'] = cNewValue

    maj[counter++] = temp
}
但最后,我建议您使用数组,而不是已经索引的objectit 只需将新创建的对象推入其中,每当您想将其转换为对象时,请执行以下操作:

myObject = Object.assign({}, maj);

您应该跟踪按钮点击次数,并在创建JSON对象的新部分时使用它

var maj = {};
var counter = 0;

$("#btnSubmitRejetRefModele").click(function() {
    var temp = {}
    temp['one'] = aNewValue
    temp['two'] = bNewValue
    temp['three'] = cNewValue

    maj[counter++] = temp
}
但最后,我建议您使用数组,而不是已经索引的objectit 只需将新创建的对象推入其中,每当您想将其转换为对象时,请执行以下操作:

myObject = Object.assign({}, maj);

另一种方法是将其存储在阵列中

let data = {
   myArray: [{'one':'a','two':'b','three':'b'}]
}
然后每次您都可以通过添加到该数组来添加数据

data.myArray.push({'one':'a2','two':'b2','three':'b2'})
优点是,无需跟踪任何计数器变量。 缺点是,从阵列中删除内容可能性能较差或不方便。但这取决于用例


在编写要维护的代码时,可读性是最重要的。

另一种方法是将代码存储在数组中

let data = {
   myArray: [{'one':'a','two':'b','three':'b'}]
}
然后每次您都可以通过添加到该数组来添加数据

data.myArray.push({'one':'a2','two':'b2','three':'b2'})
优点是,无需跟踪任何计数器变量。 缺点是,从阵列中删除内容可能性能较差或不方便。但这取决于用例


在编写要维护的代码时,可读性是最重要的。

我支持您的解决方案,但请记住,如果您也解释一下,会更好。我很高兴能提供帮助!我支持你的解决方案,但请记住,如果你也解释一下会更好。我很高兴我能帮上忙!您忘了将温度存储在主[counter++]中您忘了将温度存储在主[counter++]