Finden Sie einen Schlüssel-Wert in JSON-Objekt mit einem String in JQuery

JSON-Objekt, wie unten beschrieben. Müssen, um den Wert basierend auf Benutzereingaben. Die Eingabe Aussehen wird "data.location.type" oder "data.location.items[1].address.street". Kann es sein, getan in JQuery?

{
    "data": {
        "location": {
            "type": "List",
            "count": 1,
            "items": [
                {
                    "id": 1,
                    "type": "S",
                    "address": {
                        "street": "123 Main St",
                        "city": "New York",
                        "state": "NY"
                    }
                },
                {
                    "id": 2,
                    "type": "S",
                    "address": {
                        "street": "1323 South St",
                        "city": "New York",
                        "state": "NY"
                    }
                }
            ]
        }
    }
}
  • Sie brauchen nicht jQuery für diese, plain JS wird den trick tun. (Und durch die Art und Weise, es gibt keine solche Sache wie ein JSON-Objekt.)
  • jQuery, Nein, aber javascript ja.
  • Empfohlen: stackoverflow.com/a/11657379/1026459
  • Können Sie mir bitte zeigen, wie man das in javascript? Ich bin neu in JS.
  • Kann man das in JavaScript. Teilen Sie die Eingabe bei jedem '.', dann verwenden Sie jede dieser Teilfolgen zu index in Ihrer JSON-Objekt usw.. natürlich müssen Sie zum analysieren von index-syntax als auch
  • jQuery IST javascript, Leute. Sie sprechen, als wären Sie völlig getrennte Dinge. Wenn Sie "schreiben, jQuery -", Sie schreiben javascript.
  • Sicher. Aber, jQuery definiert nur sehr wenig für die regelmäßige Objects, verlassen die meisten, die auf ECMAScript-core-und konzentriert sich meist auf DOM. Der Punkt ist nur, dass jQuery nicht viel Hilfe hier.
  • jQuery !== JavaScript. jQuery ist in JavaScript geschrieben, sondern ist eine API, die völlig getrennt von der DOM-API und JavaScript native API.
  • jQuery ist eine Obermenge von javascript. Sie können nicht "zu schreiben, jQuery -" -- Sie schreiben von javascript, die verwendet definierte Funktionen in der jQuery-Bibliothek.
  • jQuery ist NICHT eine Obermenge von JavaScript. JavaScript ist eine Sprache. Technisch, JavaScript ist eine Implementierung und Erweiterung von ECMAScript. jQuery ist nur eine code-Bibliothek. Es hat keine Sprache Ergänzungen. Es ist ein wichtiger Unterschied.
  • Bei allem Respekt, du spielst auf die Semantik, und meistens macht MEIN Punkt. Jquery ist eine Obermenge von javascript, die in der gleichen Weise, dass SASS ist eine Obermenge von CSS -- gültiges javascript ist "gültig " jQuery". Mein Kommentar ist eine Herausforderung der Idee, dass, wenn Sie mit jQuery sind Sie irgendwie nicht mit javascript, oder Sie haben zu konvertieren oder etwas anders machen. Sie nicht, denn jQuery ist javascript. Ich sehe nicht, wie könnten Sie möglicherweise nicht einverstanden mit dieser Aussage. Wenn jQuery nicht javascript, was ist es? C++? Ruby? Nein... es ist javascript. In javascript geschrieben, wenn Sie darauf bestehen, dass beide Aussagen gleichwertig sind.
  • Nein. Ist JavaScript, nicht jQuery ("gültige javascript-Code ist gültig jQuery'"). Es ist die andere Weise herum. Und niemand ist eine Herausforderung, dass jQuery ist JavaScript. Sie sagen nur, dass die Lösung dieses nicht benötigen jQuery.
  • Gut, Sie machte eine semantische argument, wenn Sie "korrigiert" jeder, der mit den Worten "jQuery IST javascript, Leute.". Nein, es ist nicht eine Obermenge von JavaScript, die in irgendeiner sinnvollen Weise. Es ist eine DOM-Abstraktion mit ein paar extra utilities am besten. Jeder hier weiß, dass, wenn Sie mit jQuery sind, verwenden Sie JavaScript. Die meisten Menschen, außer vielleicht die pedantisch, zu verstehen, dass, wenn man spricht von JavaScript statt jQuery, meinen Sie native-code anstelle von jQuery Abstraktionen. Ich bereits beantwortet, was jQuery ist. Niemand sagte, es ist eine andere Sprache. Sie sagen, es ist ein Synonym für eine Sprache.
  • console.log(typeof jQuery); Funktion Protokolle... also im Grunde jQuery ist nur eine javascript-Funktion für ein Objekt???
  • Auf diesem Punkt ich voll und ganz Zustimmen-Sie brauchen nicht jQuery für alles. Auf das alberne "Diskussion" hier-wenn Sie auf $('#someElement').value suchen Sie im code in javascript geschrieben. jQuery ist javascript. Ich sage nicht, Sie sind Synonym. Ich sage, dass die Unterscheidung muss nicht gemacht werden, bis zu dem Punkt zu sagen, jemand, der fragt "kann ich das in jQuery", "Nein, aber Sie können in javascript". Dass bedeutet, dass Sie sind verschiedene Dinge, die Sie nicht sind.
  • Ja, jQuery ist nur ein Haufen von Funktionen. Sie können schreiben Sie Ihre eigenen jQuery, es ist nicht alles, was Verschieden von dem, was Sie tun, wenn Sie javascript schreiben, und wenn Sie "schreiben, jQuery -", du bist einfach nur zu schreiben Sie javascript und verwenden diese Funktionen. Sie nahm eine Menge von gemeinsamen Aufgaben und machte Aliase und Wrapper. $ wraps document.getElementById und einige andere Verwandte element-Auswahl nativem javascript.
  • Argumente, die in Pedanterie. Wieder jeder weiß, dass jQuery ist eine Bibliothek, geschrieben in der JavaScript-Sprache, und verwendet die DOM API. Um die richtigen Personen auf diese Weise werden mutwillig (man hoffen) blind auf den Punkt. Solche Pedanterie ist nie hilfreich. Wenn wir wollen, dass pedantisch, könnten wir auch sagen "Aha, document.getElementById sind host-Objekte, nicht JavaScript-Objekte". Aber wir tun das nicht, weil wir über diese Art der Sache.
  • Sie sagen, "jeder weiß", und doch ist hier jemand in diesem thread sehr wer kennt Sie NICHT. Und die Verwirrung wird verursacht durch Dinge wie diese: wenn der OP sagte, "Kann ich X in jQuery", die Menschen kommen zusammen und sagen, "Nein, aber Sie können es in javascript". Das ist die falsche Bezeichnung, die ich suchte, zu korrigieren... ich bin mir nicht sicher, was Ihr Winkel ist, aber in Fall können Sie nicht sagen, ich weiß was ich Tue 😉
  • yep... weniger schreiben mehr tun.. mir gefällt jQuery.. 😀
  • jQuery ist eine API. die jQuery-API hat keine Anlage für die string-manipulation. JavaScript-standard-Bibliothek hat. So, wenn man sagt "Nein, aber Sie können mit JavaScript", es ist verdammt klar, dass Sie beschreiben, was kann oder kann nicht getan werden durch die jQuery-API. Das ist der Unterschied.
  • Sie konnte nicht tun dies, jQuery, weil es erfordern würde, um Ihnen die Nutzung von javascript API. Die jQuery-API nicht unterstützt. Wo in der jQuery-API ist die Funktion, die sagt, gib mir ein Objekt und einen string, und ich werde einen Wert zurückgeben? Wenn das vorhanden ist, dann kann man dies mit jQuery, und wenn nicht, dann nicht. Es ist sehr einfach, und das ist die Art von APIs. Kann die API für die Mathematik das DOM manipulieren? Dann Nein, kann man nicht manipulieren Sie das DOM mit Mathematik.
  • Es gibt keine solche Sache wie jQuery standalone, und ich denke, das ist ganz, Woher ich komme. Während ich Schätze, dass die Erklärung von dem Kommentar "Nein, aber Sie können in JavaScript", ich denke, es entsteht der Eindruck, dass jQuery ist eine unabhängige Entität, die von sich selbst. Wenn jemand versucht zu manipulieren Sie das DOM mit der Mathe-API, wie @TravisJ streckte, würden Sie nicht sagen, "Sie können nicht tun, mit Mathematik, aber Sie können tun, dass mit javascript." Sie würde einfach sagen, "Sie tun es nicht Recht". Die Unterscheidung zwischen "jQuery schreiben" und "schreiben javascript" muss nicht gemacht werden, ich denke, es verwirrt.
  • Wie @user2736012 ich wieder wissen, was jQuery ist. Ich glaube nicht, dass es klar war, wie es Stand, sonst würde ich nicht gemacht haben, einen Kommentar. Hast du da genommen, es auf sich zu argumentieren, dass der Kommentar ad naseum, und ich bin nicht sicher, warum. Aber, ich brauche dich nicht zu erklären, es mich nicht mehr, noch habe ich jemals. Ich denke, wir sind hier fertig.
  • Niemand machte das argument, dass die jQuery-standalone, noch, dass es eine andere Sprache. Ich habe nie gesagt, Sie wissen nicht, was es ist. Ich sage, du machst einen fruchtlosen Punkt, wenn Sie die richtigen Menschen, die darauf hinweisen, die sehr Reale Unterscheidung, die vorgenommen werden muss.
  • Ich denke, die Unterscheidung ist fruchtlos, und deshalb habe ich kommentiert.
  • Ok, Sie informieren Sie, dass Sie "nicht richtig." Aber, das ist nicht hilfreich auf Ihrem eigenen. "Auf welche Weise? Was die 'nicht rechts' über ihn?" Und Sie sind wieder auf die sehr Unterschied Sie ' re darauf hindeutet, ist sinnlos, denn Ihre alternative ist genauso vage wie die das problem beschreiben, mit "Es funktioniert nicht."
  • kommt nach Hause aus dem Supermarkt mit einer Tüte Kekse. Chris' Frau sagt, "Was ist das? Ich habe Euch gesandt zu bekommen, den Zucker, die Eier, etc..." Chris antwortet: "Honig, cookies, Zucker, Eier, etc...". Chris schläft auf der couch in jener Nacht.
  • Jetzt sind Sie lächerlich. Toll. Adieu.
  • Wenn die Unterscheidung ist fruchtlos, dann sind Sie wirklich nicht wissen, was jQuery ist.
  • Ja, du hast Recht. Denke, meine gesamte Karriere wurde nur eine zufällige und lange Fall von Glück.
  • Wenn Sie nicht sehen können, eine Unterscheidung zwischen einem 3rd-party-API, geschrieben in einer Sprache, und die eigentliche Sprache und die API, dann würde es dazu führen, dass man sich zu Wundern.
  • Schauen Sie, ich nehme einen Riss an dieser man mehr Zeit, aber es ist mir auch egal, wenn Sie zwei dudes aus dem internet verstehen mein Punkt. Ich brauche dich nicht um. Wenn ein neuer Entwickler ist, die Probleme mit Ihrem Skript, und fragt, "Kann ich das in jQuery", Fragen Sie sich, eher, "wie mache ich das." Die Antwort, "Sie können das nicht in jQuery" führt den neuen Entwickler zu glauben, dass etwas möglich ist in javascript NICHT möglich ist, "in jquery". Da "in jquery" existiert nicht wirklich, Sie haben eine fruchtlose Unterscheidung im Kopf des Entwicklers. Deshalb habe ich kommentiert.
  • Sie werden selbstgefällig auf mich nicht ändern, mein Punkt, um es weniger gültig ist, oder zu der ihrigen machen mehr gültig. Es macht Sie scheinen wie ein Ruck, dass ich nicht wollen, zu unterhalten. Bin ich Fragen, Ihr wissen oder Erfahrung? Nein. Ich würde es schätzen, wenn Sie hätte ein wenig mehr Respekt.
  • "in jQuery" existiert. jQuery ist definiert durch seine dokumentierte API. Deshalb habe ich kommentiert.
  • "in Jquery" existiert NICHT. Wenn Sie die jQuery-API, Sie sind "in javascript" genauso viel wie wenn du nicht mit dem jQuery-API. Erstellen Sie eine Grenze, die nicht existiert.
  • Sie brachte die Idee von wissen und Erfahrung mit " Denke, meine gesamte Karriere wurde nur eine zufällige und lange Fall von Glück.". Ich folgte nur, dass.
  • In code: jsfiddle.net/YB49g - Sie sind nicht "in jQuery" oder "nicht in jQuery" - die Unterscheidung ist falsch. Ich brachte meine Karriere und Erfahrung, denn Sie sprechen zu mir herunter, als würde ich nicht wissen, was jQuery ist. Ich könnte jQuery. Ist es nicht viel wahrscheinlicher, dass Sie das Missverständnis mich, oder einfach nicht einverstanden mit dem Ansatz, wenn man bedenkt, dass ich bin ein erfahrener Entwickler?
  • Wenn Sie können nicht erkennen, die Existenz von etwas "in jQuery" Bedeutung "mit der dokumentierten API", dann würde ich nicht wissen, was mit dir zu tun. Nochmal, niemand hat behauptet, dass man nicht mit JavaScript. Der Punkt ist, dass man nicht mit jQuery zu tun, die benötigten string-manipulation.
  • Und wenn SIE können nicht bestätigen, dass die Unterscheidung könnte und nicht verwechseln einige neue Entwickler, wie die Art, die Fragen hier, dann weiß ich nicht, was mit dir zu tun. Die Aussage, "Nein, nicht in jQuery, aber Sie können es in javascript" impliziert genau, dass man nicht mit javascript, wenn man mithilfe von jQuery. Sie erstellen eine nutzlose Unterscheidung.
  • Blah, blah, blah. Der Kommentar war nicht für Sie. Widersprechen Sie, wenn Sie möchten.
  • Ich kann sicherlich bestätigen, dass ein neuer Entwickler verwechselt werden könnte für eine beliebige Anzahl von Gründen, einschließlich der allzu knappe und unvollständige Aussagen wie "jQuery IST JavaScript". Und so brauche ich nicht Zustimmen. War das unklar???

InformationsquelleAutor user2300206 | 2013-10-17
Schreibe einen Kommentar