首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSON对象中不需要的键

JSON对象中不需要的键
EN

Stack Overflow用户
提问于 2017-07-04 14:36:28
回答 2查看 90关注 0票数 0

嗨,在执行循环之后,我正在创建一个JSON对象。问题是JSON对象有额外的键。我不想要那钥匙。钥匙是由我产生的。根据我的要求提审了json。这是我用来创建JSON对象的代码

代码语言:javascript
运行
复制
 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:“新”,micrcode1:"mkkk",comments1:“评论员”,bankname2:"bankfgname",micrcode2:"micrfgcode"…}

我想把它变成这样

{bankname1:“新”,micrcode1:"mkkk",comments1:“评论员”},{bankname2:"bankfgname",micrcode2:"micrfgcode"}

但还是变得像这样.its不好

{"0":{bankname1:“新”,micrcode1:"mkkk",comments1: “注释”},"1":{bankname2:"bankfgname",micrcode2:"micrfgcode"}

我的代码中有什么错误?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-04 14:50:57

您需要使用数组而不是对象。就像这样:

代码语言:javascript
运行
复制
   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;
   }

然后你就可以得到这样的结果:

代码语言:javascript
运行
复制
JSON.stringify(func({name: 'someval', val: 123}));
"[{"name":"someval","val":123}]"
票数 0
EN

Stack Overflow用户

发布于 2017-07-04 15:02:13

分配

var updatebankdata = [];

然后将对象按如下方式排列

updatebankdata.push(yourObject)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44908714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档