always wrap JSON.parse with try catch