don't try to parse a potentially empty string as JSON