簡體   English   中英

JSON對象中不需要的鍵

[英]unwanted keys in JSON object

嗨,我正在執行循環后創建一個JSON對象。 問題是JSON對象具有其他鍵。 我不要那個鑰匙。 密鑰是我產生的。 用於根據我的要求提現json。 這是我用於創建JSON對象的代碼

 var bankdata = data;
    var updatebankdata = {}
    for (var key in bankdata) {
        var id = +key.substr(key.length - 1);

        if (isNaN(id)) {
            updatebankdata[0] = updatebankdata[0] || {};
            updatebankdata[0][key] = bankdata[key];
        } else {
            var uniqid=$("#bankaccount"+id).attr("uniq_id");
            updatebankdata[id] = updatebankdata[id] || {};
            var field = key.substring(0, key.length - 1);
            updatebankdata[id][field] = bankdata[key];
            updatebankdata[id]["uniquid"] = uniquid;
        }
    }
    return updatebankdata;
}

我的銀行數據就像

{bankname1:“ new”,micrcode1:“ mkkk”,commentments1:“ commentsfvfdv”,bankname2:“ bankfgname”,micrcode2:“ micrfgcode”…}

我想把它變成這樣

[{bankname1:“ new”,micrcode1:“ mkkk”,commentments1:“ commentsfvfdv”},{bankname2:“ bankfgname”,micrcode2:“ micrfgcode”}

但是它仍然像這樣。它不好

{“ 0”:{bankname1:“ new”,micrcode1:“ mkkk”,評論1:

“ commentsfvfdv”},“ 1”:{bankname2:“ bankfgname”,micrcode2:“ micrfgcode”}

我的代碼有什么錯誤?

您需要使用數組而不是對象。 像這樣:

   function func(data) {
       var bankdata = data;
       var updatebankdata = [];  // ARRAY instead of Object
       for (var key in bankdata) {
           var id = +key.substr(key.length - 1);

           if (isNaN(id)) {
               updatebankdata[0] = updatebankdata[0] || {};
               updatebankdata[0][key] = bankdata[key];
           } else {
               var uniqid=$("#bankaccount"+id).attr("uniq_id");
               updatebankdata[id] = updatebankdata[id] || {};
               var field = key.substring(0, key.length - 1);
               updatebankdata[id][field] = bankdata[key];
               updatebankdata[id]["uniquid"] = uniqid;  // CHANGED to "uniqid" to match variable declaration above, not the key on the left is still "uniquid"
           }
       }
       return updatebankdata;
   }

然后您可以得到如下結果:

JSON.stringify(func({name: 'someval', val: 123}));
"[{"name":"someval","val":123}]"

分配

var updatebankdata = [];

然后像這樣將對象推入數組

updatebankdata.push(yourObject)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM