Забавно. Я только что написал некоторый код для этого (с объектами), который затем можно сериализовать для цели.
// sorta like $.extend but limits to updating existing properties
// from a template. takes any number of objects to merge.
function mergeObjects(template) {
var obj={};
if (arguments) {
for (var i = 0; i < arguments.length; i++) {
newObj = arguments[i];
for (var prop in template) {
if (newObj.hasOwnProperty(prop)) {
obj[prop] = newObj[prop];
}
}
}
}
return obj;
}
Способ использования этой функции - с шаблоном, обладающим необходимыми свойствами, например,
var template = {
firstname: '',
lastname: ''
}
var someObject = {
firstname: "bryce",
lastname: "nesbitt",
title: "ubergeek"
}
var filteredObject = mergeObjects(template,someObject);
->
filteredObject: {
firstname: "bryce",
lastname: "nesbitt",
}
http://jsfiddle.net/AARMW/