使用字符串混合将字符串解析为json

时间:2014-12-17 11:02:06

标签: javascript json

我想将字符串var解析为json对象,但它始终不是json。如果它不是json我希望它以它的形式返回。我试过JSON.parse,但是当var是纯字符串时它会发布错误,最后我得到了JSON.parse(JSON.stringify(var)),我想知道是否有办法判断一个字符串可以解析为json或者不,所以我可以保存" stingify"相。

2 个答案:

答案 0 :(得分:0)

你可以使用try / catch。如果在尝试解析时遇到异常,则表示它无效json

var victim=....;
var output;
try { 
   output = JSON.parse(victim); 
} catch (e) { 
   output = victim;
}

答案 1 :(得分:0)

没有比实际解析和知道它是否有效更好的方法了。您可以使用try / catch块来设置变量,然后将其返回。

function toJSON(str) {
    var rtn;
    try { rtn = JSON.parse(str); }  // try to set it
    catch (e) { rtn = str; } // if error set it to str
    return rtn;  // finally return
}