2017-07-04 44 views
-2

我需要填充JSON,其屬性與對象的屬性具有相同的名稱。使用數據庫中的對象加載json模板

爲MyObject:

{ idCliente: 4, 
    idAplicacionEmpresa: 1, 
    email: '[email protected]', 
    nombre: 'Joaquin', 
    apellido: 'Diaz', 
} 

MyJSON:

{ sexo: '', 
    nombre: '', 
    apellido: '', 
    telefono: '', 
    documento: '', 
    provincia: '', 
    fechaNacimiento: '', 
    localidadResidencia: '' 
} 

只有填寫符合誰的性能。

使用承諾的模板生成一個PDF,其中形式配以德JSON性質的領域,這裏是我的代碼

TramitePdf.generatePdf = function (idTipoTramite, idCliente, callback) { 
var cliente = TramitePdf.app.models.Cliente; 
var modeloTipoTramite = TramitePdf.app.models.TipoTramite; 
var pathModelo, pathCliente, tipoT, clienteActual; 
modeloTipoTramite.findById(idTipoTramite) 
    .then(tipoTramite => { 
    this.pathModelo = `${__dirname}/../pdf/${tipoTramite.nombre}.pdf`; 
    this.pathCliente = `${__dirname}/../pdf/clientes/${idCliente}_${idTipoTramite}_${tipoTramite.nombre}.pdf`; 
    this.tipoT = tipoTramite; 
    this.clienteActual = cliente.findById(idCliente); 
    return this.clienteActual; 
    }) 
    .then(cliente => { 
    pdfFiller.fillForm(this.pathModelo, this.pathCliente, JSON.parse(this.tipoT.template), function (err) { 
     callback(err, cliente); 
    }); 
    }) 
    .catch(err => { 
    callback(err); 
    }); 

}

林;

任何想法?

+0

您是否嘗試過的東西? – dloeda

回答

1

剛:

Object.keys(someJson).forEach(el => { 
    if (typeof myJson[el] !== 'undefined') { 
    myJson[el] = someJson[el]; 
    } 
}); 
0

你可以試試這個

let a = { idCliente: 4, 
 
    idAplicacionEmpresa: 1, 
 
    email: '[email protected]', 
 
    nombre: 'Joaquin', 
 
    apellido: 'Diaz', 
 
} 
 

 
let b = { sexo: '', 
 
    nombre: '', 
 
    apellido: '', 
 
    telefono: '', 
 
    documento: '', 
 
    provincia: '', 
 
    fechaNacimiento: '', 
 
    localidadResidencia: '' 
 
} 
 
console.log(b,a) 
 
let KeysOf_a = Object.keys(a); 
 

 
for(let i = 0;i < KeysOf_a.length;i++){ 
 
    if(b.hasOwnProperty(KeysOf_a[i])){ 
 
    b[KeysOf_a[i]] = a[KeysOf_a[i]] 
 
    } 
 
} 
 

 
console.log(b,a)