Ich habe eine Liste von Modellen, die ich durchsuchen möchte und ziehen Sie die URL für die richtige. Ich werde nicht immer den vollen Schlüssel haben, und niemals den vollen Wert, sondern werde immer mindestens einen einzigartigen Teil davon haben.JavaScript/jQuery finde JSON-Schlüssel/Wert mit partieller Übereinstimmung von Variable und Rückgabewert
Derzeit befindet sich der Code nur im Testmodus, mit einer festgelegten Nummer, die mit einem Schlüssel übereinstimmt, einen Erfolg oder Fehler drucken.
Die Konsole sagt mir, dass Modelle [i] .indexOf keine Funktion ist. Ich weiß, dass es ein Objekt ist, aber wenn ich eine toString darauf mache, bekomme ich "object Object". Was verstehe ich nicht?
Ich bin glücklich mit einer Lösung, die entweder JavaScript ist oder jQuery verwendet.
Der Code:
if ($('.mobile_tutorial').length) {
var device = /*$device.model*/ "NTZEZ717VLU", model_code = device.substr(2).substr(0,device.length-3);
$.ajax({
url: "/scripts/phone_models.json",
type: 'get',
dataType: 'json',
success: function (data) {
var models = data.Manufacturer;
for (var i = models.length - 1; i >= 0; i--) {
if (models[i].indexOf(model_code) > -1) {
console.log(models[i])
} else {
console.log('no match')
}
}
}
});
}
Die JSON (teilweise):
{
"Manufacturer": [{
"ZEZ955L": "http://x.com/mobile/home.seam?custId=ZEZ955L"
}, {
"ZEZ990G": "http://x.com/mobile/home.seam?custId=ZEZ990G"
}, {
"ZEZ828TL": "http://x.com/mobile/home.seam?custId=ZEZ828TL"
}, {
"ZEZ716BL": "http://x.com/mobile/home.seam?custId=ZEZ716BL"
}, {
"ZEZ717VL": "http://x.com/mobile/home.seam?custId=ZEZ717VL"
}, {
"ZEZ962BL": "http://x.com/mobile/home.seam?custId=ZEZ962BL"
}, {
"ZEZ963VL": "http://x.com/mobile/home.seam?custId=ZEZ963VL"
}]
}
Ich habe ursprünglich Ihre Frage missverstanden, bitte sehen Sie meine aktualisierte Antwort! –