如何检查它是字符串还是json

我有一个通过JSON.Stringify函数从对象转换的json字符串

我想知道它是json字符串还是普通字符串。

是否有类似“ isJson()”的函数来检查它是否为json?

我想在使用本地存储(如下面的代码)时使用该函数。

先感谢您!!

var Storage = function(){}

Storage.prototype = {

setStorage: function(key, data){

if(typeof data == 'object'){

data = JSON.stringify(data);

localStorage.setItem(key, data);

} else {

localStorage.setItem(key, data);

}

},

getStorage: function(key){

var data = localStorage.getItem(key);

if(isJson(data){ // is there any function to check if the argument is json or string?

data = JSON.parse(data);

return data;

} else {

return data;

}

}

}

var storage = new Storage();

storage.setStorage('test', {x:'x', y:'y'});

console.log(storage.getStorage('test'));

回答:

“简单”的方法是try在失败时解析并返回未解析的字符串:

var data = localStorage[key];

try {return JSON.parse(data);}

catch(e) {return data;}

以上是 如何检查它是字符串还是json 的全部内容, 来源链接: utcz.com/qa/414258.html

回到顶部