It seems preferable to exit early on malformed JSON instead of quietly (with just a single log line) accepting it. People won't check the exit status unless this is running a script.

Could you talk about why you went this direction?