私は次のような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オブジェクトを間違ってビルドしていますか?値を適切にターゲティングしていませんか?アドバイスをいただければ幸いです。これがオブジェクトではなく配列として簡単である場合、私はそれを変更するための完全な制御権を持っています。私はこれをどのように扱うべきかについて少し困惑しています。