JSFiddle - React, Tailwind, and code Playground

HTML

<head> 
  <script src="https://cdn.jsdelivr.net/lodash/4.13.1/lodash.min.js"></script>
  
  
</head>
<body>
</body>

JavaScript

const input1 = {
componentId: "ExchangeCurrency",
componentModel:{"CurrencyRate":0.021362956633198035,"DebitAccount":null,"CreditAccount":null,"PurchaseAmount":"42.73","PaymentAmount":"2000","CommissionResult":{}}};
const input2 = {
componentId: "ExchangeCurrency",
componentModel:{"CurrencyRate":0.0,"DebitAccount":{"AccountId":134118,"TypeId":64,"CardId":64531,"CurrencyId":22,"CardPaymentSystemTypeId":1523,"Label":"Зарплатная++","AvailableOwnFunds":111105.83,"Overdraft":500000.0,"IsPaymentFromCard":true,"ContractId":233,"AccountCloseDate":"0001-01-01T00:00:00"},"PurchaseAmount":0.0,"PaymentAmount":0.0,"CreditAccount":null,"CommissionResult":null,"PaymentReason":null}};
const expectedResult = {
componentId: "ExchangeCurrency",
componentModel:{"CurrencyRate":0.021362956633198035,"DebitAccount":{"AccountId":134118,"TypeId":64,"CardId":64531,"CurrencyId":22,"CardPaymentSystemTypeId":1523,"Label":"Зарплатная++","AvailableOwnFunds":111105.83,"Overdraft":500000.0,"IsPaymentFromCard":true,"ContractId":233,"AccountCloseDate":"0001-01-01T00:00:00"},"PurchaseAmount":"42.73","PaymentAmount":"2000","CreditAccount":null,"CommissionResult":null,"PaymentReason":null}};

const actualResult = _.mergeWith({}, input2, input1, (t, s) => t === 0 ? s : t);

console.log(_.isEqual(expectedResult, actualResult));