如何将数组中的值插入到选择json键中

时间:2015-10-05 08:39:05

标签: json node.js backend

我有这个数组: [test,usera,test,userb,test,userc,test,userd]

这个JSON:

{
"data": [
    {
        "email": "testusera@abc.com",
        "mobile": "9881880455",
        "panCardNo": "ABCD014141",
        "city": "Mumbai"
    },
    {
        "email": "testusera@abc.com",
        "mobile": "9881880455",
        "panCardNo": "ABCD014141",
        "city": "Mumbai"
    }
]
}

我正在尝试将键值对添加到现有对象中,即“lastname”:“value from array”

for(var i=0; i<importedJson.data.length;i++)
{
    for(var f=1;f<=arrFirstLast.length-1;f+2)
    {
       importedJson.data[i].lastName = arrFirstLast[f];
    }
}

预计Json:

{
"data": [
    {
        "lastname": "usera",
        "email": "testusera@abc.com",
        "mobile": "9881880455",
        "panCardNo": "ABCD014141",
        "city": "Mumbai"
    },
    {
        "lastname": "userb",
        "email": "testusera@abc.com",
        "mobile": "9881880455",
        "panCardNo": "ABCD014141",
        "city": "Mumbai"
    }
]
}

我得到Undefined?还是没有输出?

3 个答案:

答案 0 :(得分:1)

感觉我的解决方案是所提供答案中最简单的一个

var j=0, k=0;
for(var i=0; i<importedJson.data.length;i++)
{
    importedJson.data[i].firstName = arrFirstLast[k];
    k=k+2;
    j=j+1;
    importedJson.data[i].lastName = arrFirstLast[j];
    j=j+1;
}

答案 1 :(得分:0)

如果索引在数组中,您可以考虑只使用一个迭代器的数组方法和测试。

&#13;
&#13;
var arrFirstLast = ['test', 'usera', 'test', 'userb', 'test', 'userc', 'test', 'userd'],
    importedJson = {
        "data": [
            {
                "email": "testusera@abc.com",
                "mobile": "9881880455",
                "panCardNo": "ABCD014141",
                "city": "Mumbai"
            }, {
                "email": "testusera@abc.com",
                "mobile": "9881880455",
                "panCardNo": "ABCD014141",
                "city": "Mumbai"
            }
        ]
    };    

importedJson.data.some(function (a, i) {
    var p = i * 2 + 1;
    if (p < arrFirstLast.length) {
        a.lastName = arrFirstLast[p];
    } else {
        return true; // stop iteration
    }
});
document.write('<pre>' + JSON.stringify(importedJson, 0, 4) + '</pre>');
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用javascript concat函数来合并数组这里是关于函数的更多信息。

http://www.w3schools.com/jsref/jsref_concat_array.asp