While it is not evident how to reinforce a direct member access like foo.num = num, You can easily increase your regular setter with an additional power parameter: If they alter the property name the JsonProperty ensures It's going to be used in the Json object, and not the property https://smartworlddeveloper.co.in/smart-world-69-sector-69-gurgaon-a-new-benchmark-in-urban-luxury-living/