这是2个javascript变量:
<script language="javascript" type="text/javascript">
var example1 = 'Mr.:1|Mrs.:2|Ms.:3|Dr.:4|Sr.:5|Jr.:6';
var example2 = {'Mr.':'1','Mrs.':'2','Ms.':'3','Dr.':'4','Sr.':'5','Jr.':'6'}
</script>
使用javascript,有没有办法检测哪一个不是json
?
答案 0 :(得分:5)
您可以使用JSON.parse函数: http://msdn.microsoft.com/en-us/library/cc836466%28v=vs.85%29.aspx
如果传入其中的文本无效JSON,则会抛出异常。
编辑:
注意到您没有粘贴JSON代码的评论是正确的。这段代码:
var json = {"var1":"val1"};
实际上是一个JavaScript对象。它看起来非常相似,并且很容易在两者之间(使用JSON.stringify和JSON.parse),但它们是不同的概念。
答案 1 :(得分:2)
使用try catch并相应处理:
function IsJsonString(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
答案 2 :(得分:1)
如果你想在js中获取变量的类型,
你可以试试这个
typeof("somevalue")
//returns string
typeof数组或对象会返回'对象' 喜欢
var arr = [];
typeof(arr) // returns 'object'
答案 3 :(得分:1)
try {
JSON.parse(example1);
} catch (e) {
console.log(example1+' is not valid JSON');
}