Si vous savez qu'une entrée particulière existe, la récupération de l'entrée avant la mise à jour remplirait l'objet avec les valeurs existantes et vous ne modifieriez que les valeurs fournies par votre Json. Cela évite les mises à jour nulles comme vous le décrivez.
Si, toutefois, l'entrée est nouvelle, alors tout ce qui manque dans le Json sera transmis comme nul à la base de données.