robust JSON.stringify