如何检查JSON.parse是否失败或返回falsey值

时间:2017-10-27 21:31:21

标签: javascript json parsing

目标:

const data = JSON.parse(this.description) ? JSON.parse(this.description) : null

如果我运行此语句,我希望能够在无法解析的值上运行此函数,如果不能则返回null。不幸的是我只是得到一个错误Unexpected token at ....,我知道这是因为我传递了一个不可解析的数据。我希望这能够返回一个假值,所以我可以设置为null而不是只需打破并停止应用程序。

尝试:

function checkParse(json) {
  try {
    return JSON.parse(json);
  } catch (e) {
    return null
  }
}


checkParse(description);

这会返回Unexpected token l

的错误

1 个答案:

答案 0 :(得分:-1)

您可以在解析之前尝试检查变量类型

if(typeof this.description === "string"){data = JSON.parse(this.description}
else{data = null;}