从那里How to check whether the given object is object or Array in JSON string我发现有用来比较JSON对象是数组还是对象
if (json instanceof Array) {
// get JSON array
} else {
// get JSON object
}
问题我有一个验证器登录表单,我收到的消息如下:
array('password'=> array('isEmpty'=>'值是必需的,不能为空'));
但是有
之类的消息'电子邮件或密码无效',这不是数组。
问题我在JavaScript文件中需要这样的内容
if(json hasOnlyOneString)
{
//do something
} else { || } if(json instaceof Array){
// do another stuff
}
答案 0 :(得分:1)
听起来有时候你会想到一个数组或一个对象时会得到一个字符串。您可以这样检查:
var obj = {
"str": "I am a string",
"arr": ["I am an array"]
};
obj.str instanceof Array; // -> false
obj.arr instanceof Array; // -> true
typeof obj; // -> object
typeof obj.arr; // -> object (uh-oh! eliminate this possibility by first checking to see if it's an array)
if (obj.str instanceof Array) {
console.log('do array stuff');
} else {
if (typeof obj.str === "object") {
console.log('do object stuff');
} else {
console.log('do non-array, non-object, probably string stuff');
}
}