I believe there is currently no way to listen on change events of the JSON scheme fields directly. Perhaps a good feature request for Editor?:
Otherwise, you can continue with your current approach, or consider switching to another attribute type. Another option would be to start listening on these attributes manually. However, it is probably not more convenient than your current approach and you would then need to create some convenience script to handle reading/writing to those fields. Nevertheless, here is a barebone variant, which can give you some ideas: