Ich bin ein JSON-Objekt wieDie Suche nach einer Immobilie in einem JSON-Objekt
tags = {"jon":["beef","pork"],"jane":["chicken","lamb"]};
zu schaffen, die aus einem Array wie
$arr = array(
'jon' => array('beef', 'pork'),
'jane' => array('chicken', 'lamb')
);
$tags = json_encode($arr);
Und ich mag mit PHP generiert wurden prüfen, ob etwas in ist Das Eine oder das Andere. Keiner von ihnen zu funktionieren scheint, aber so etwas wie
if('lamb' in tags.jane)) {
console.log('YES');
} else {
console.log('NO');
}
schreibt NO an die Konsole
if('foo' in tags.jane)) {
console.log('YES');
} else {
console.log('NO');
}
schreibt auch NO an die Konsole
so bei
suchentypeof(tags.jane);
es zeigt es eine "object"
aber
console.log(tags);
zeigt das ist folgende:
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
so dachte ich, vielleicht tags.jane
tatsächlich ein Array sein kann und versucht
if($.inArray('lamb', tags.jane)) {
console.log('YES');
} else {
console.log('NO');
}
die JA auf die Konsole schreibt aber
if($.inArray('foo', tags.jane)) {
console.log('YES');
} else {
console.log('NO');
}
schreibt auch YES an die Konsole.
Erstelle ich das JSON-Objekt falsch? Den Wert nicht richtig anvisieren? Jeder Rat wird sehr geschätzt. Wenn dies einfacher wäre als ein Array anstelle eines Objekts, habe ich die volle Kontrolle, es zu ändern. Ich bin nur ein bisschen ratlos, wie ich das behandeln soll.
Verwenden Sie JSON.parse (jsonString), um die Serverantwort in ein JavaScript-Objekt zu konvertieren. –
+1 für eine * gründliche * Demonstration dessen, was Sie versucht haben. –
Tut mir leid, ich habe nicht erwähnt, dass ich den JSON in der JS analysiert habe, aber so oder so haben Sergio (und andere) mir gegeben, was ich brauchte. Danke allen! Aus Neugier, warum sind Tags.jane und tags.jon Arrays statt "verschachtelte Objekte" ist das einfach nicht in JSON möglich? Als ich damit anfing, dachte ich, ich würde einen Scheck wie if (tags.jane.chicken) machen und erwarten, dass es wahr oder falsch zurückgibt, wenn die Immobilie existiert. ich muss offensichtlich etwas über JSON-Objekte lesen. : P Nochmals vielen Dank an alle, die sich gemeldet haben. – ocergynohtna