Я пытаюсь слить два json в один json. Я не хочу объединять все ключи, я добавил свой код. Код должен быть в javascript или узле (подчеркивание).javascript + объединить массивы json на основе ключа,
var json1 = [{user_id:1,friend_id:2,desc:'aaa'}, {user_id:3,friend_id:4,desc:'ccc'}, {user_id:1,friend_id:1,desc:'ccc'} , {user_id:1,friend_id:3,desc:'ccc'} ];
var json2 = [{reference_id:1,name:'A'},{reference_id:2,name:'B'},{reference_id:3,name:'C',age:30},{reference_id:4,name:'D'}];
Ожидая выхода:
выход:
json1 = [{user_id:1,friend_id:2,desc:'aaa',user_name:'A',friend_name:'B'}, {user_id:3,friend_id:4,desc:'ccc',user_name:'C',friend_name:'D'}, {user_id:1,friend_id:1,desc:'ccc',user_name:'A',friend_name:'A'} , {user_id:1,friend_id:3,desc:'ccc',user_name:'A',friend_name:'C'} ];
Logic Js Код:
for (var i = 0; i < json1.length; i++) {
var user_id = json1[i].user_id;
var friend_id = json1[i].friend_id;
for (var j = 0; j < json2.length; j++) {
if (json2[j].reference_id == user_id) {
json1[i].user_name = json2[j].name;
}
if (json2[j].reference_id == friend_id) {
json1[i].friend_name = json2[j].name;
}
}
}
Я приложил свой код в jsfiddle. Click Here
Этот же код следует преобразовать в символ подчеркивания.
я первый перенастроить второй массив в качестве объекта с ключами от * идентификаторСсылки * и значения * имя *, то это просто итерации над первым массивом, чтобы увеличить данные. Обратите внимание, что «JSON» - это обозначение, которое заимствовано из текстовой нотации ECMAScript. У вас есть массивы и объектные литералы, а не «JSON». – RobG
@ RobG - почему вы удалили свой код. pls вывешивает его. я проверю – RSKMR
Вы должны уметь видеть удаленные сообщения, это по сути то же самое, что и у Часа Брауна. – RobG