繁体   English   中英

将对象属性从一个JSON数据文件添加到另一个

[英]Adding object properties from one JSON data file to another

我有两个本地JSON文件。 我想将一个对象的属性从一个文件添加到另一文件中的相应对象。

这是一个例子。

数组1:

[
  {
    "id": 1,
    "username": "Joe Smith",
    "pic": "images/profile/Joe_smith.jpg"
  },
  {
    "id": 2,
    "username": "Jane Smith",
    "pic": "images/profile/Jane_smith.jpg"
  }
 ]

数组2:

[
 {
   "id": 3,
   "userId": 1,
   "profession": "dentist"
 },
 { 
   "id": 4,
   "userId": 2,
   "profession": "pilot"
 }

想法是将Array1的“ pic”属性添加到Array2中的正确对象。 如果Array1中的ID与Array2中的userId相匹配,则表示正确匹配。 Array2最终看起来像这样:

[
 {
   "id": 3,
   "userId": 1,
   "profession": "dentist",
   "pic": "images/profile/Joe_smith.jpg"
 },
 { 
   "id": 4,
   "userId": 2,
   "profession": "pilot",
   "pic": "images/profile/Jane_smith.jpg"
 }

然后,我将使用angular来显示面部名称。 希望我能解释一下。 任何帮助将非常感激!

就是图个好玩儿。 在此示例中,使用https://lodash.com

var people = [
    { "id": 1, "username": "Joe Smith", "pic": "images/profile/Joe_smith.jpg" }, 
    { "id": 2, "username": "Jane Smith", "pic": "images/profile/Jane_smith.jpg"},
    { "id": 3, "username": "I play too much games", "pic": "images/profile/toomuch.jpg"}
];

var professions = [
    { "id": 3, "userId": 1, "profession": "dentist" },
    { "id": 4, "userId": 2, "profession": "pilot" }
];

var workers = _.map(people, function(human) {
    var work = _.findWhere(professions, { 'userId': human.id });
    return _.extend(human, work ? work : { 'profession' : 'unemployed' });
});

console.log(workers);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM