如何检查它是字符串还是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