我正在创建一个 JSON 对象,例如
tags = {"jon":["beef","pork"],"jane":["chicken","lamb"]};
它是使用 php 从数组中生成的,例如
$arr = array(
'jon' => array('beef', 'pork'),
'jane' => array('chicken', 'lamb')
);
$tags = json_encode($arr);
我想检查其中是否有东西。这些似乎都不起作用,但是像
if('lamb' in tags.jane)) {
console.log('YES');
} else {
console.log('NO');
}
向控制台写入NO
if('foo' in tags.jane)) {
console.log('YES');
} else {
console.log('NO');
}
还向控制台写入NO
所以看着
typeof(tags.jane);
它表明这是一个"object"
但是
console.log(tags);
显示以下内容:
Object
jane: Array[2]
0: "chicken"
1: "lamb"
length: 2
__proto__: Array[0]
jon: Array[2]
0: "beef"
1: "pork"
length: 2
__proto__: Array[0]
__proto__: Object
所以我想也许tags.jane
实际上可能是一个数组并尝试过
if($.inArray('lamb', tags.jane)) {
console.log('YES');
} else {
console.log('NO');
}
它将YES写入控制台,但是
if($.inArray('foo', tags.jane)) {
console.log('YES');
} else {
console.log('NO');
}
还会将YES写入控制台。
我是否错误地构建了 JSON 对象?没有正确定位价值?任何意见是极大的赞赏。如果这更容易作为一个数组而不是一个对象,我可以完全控制它来改变它。我只是有点困惑我应该如何对待这个。