如何在可能是简单字符串或字符串对象的字符串对象上安全地使用 JSON.parse?

Rav*_*vit 6 javascript string parsing json

我需要能够以对象格式或纯字符串格式解析字符串。最安全的方法是什么?

我试过 JSON.parse(data) 但它在数据是普通字符串的情况下不起作用。


编辑 - 选择的解决方案

多亏了你,这就是我解决问题的方法:

try {
    dataObj = JSON.parse(data);
} catch (err) {
    if (typeof data === "object") {
        dataObj = data;
    } else {
        dataObj = {};
    }
}
Run Code Online (Sandbox Code Playgroud)

mon*_*key 3

使用尝试捕获:

var result;
try {
   result = JSON.parse(data);
} catch (err) {
   if (typeof data == 'string') result = data;
   else console.error(err);
}
Run Code Online (Sandbox Code Playgroud)