finden Sie ein element von JSON - (Javascript -) Objekt
Wie kann ich beziehen sich auf ein element der JSON - (Javascript -) Objekt.
exampe: alert(homes.Agenten[1].name);
<script>
var homes = [
{
"Agents" : {
"name" : "Bob Barker",
"name" : "Mona Mayflower"
},
"Listings" : [
{
"h_id": "3",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"price": "162500"
},
{
"h_id": "4",
"city": "Bevery Hills",
"state": "CA",
"zip": "90210",
"price": "319250"
},
{
"h_id": "5",
"city": "New York",
"state": "NY",
"zip": "00010",
"price": "962500"
}
]
}
];
</script>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist nicht gerade sehr gut JSON oben hier im Fall der Agenten-Wert der zweiten Taste überschreibt den ersten.
Du wohl gemeint:
Dann würden Sie auf den ersten agent-Namen als
Ebenso, um die Werte aus den Listen, würde Sie so etwas wie:
Die Punkt-syntax kann verwendet werden, überall dort, wo ein Gültiger Bezeichner ist, was Sie brauchen, um verwenden Sie die array-syntax.
Als seitliche Anmerkung, ich bin nicht sicher, dass die Struktur der Daten, aber es ist möglich, dass Sie können die Beseitigung der äußeren Ebene
[]
das ist, umschließt die komplette Struktur in einem array. Dann würden Sie nicht brauchen, um Zugang zu allem zu haben alshomes[0]['Listings']
und stattdessen einfachhomes['Listings']
.Ihre JSON-syntax ist falsch. Sie können nicht die gleichen Schlüssel zweimal in einem Objekt. Stattdessen müssen Sie einen array:
Dann können Sie den Zugriff auf die Agenten etwa so:
{ }
), um beliebige Tasten. Nämlich, es würde ein Fehler in der Zeile"Agents" : [
weil Sie gerade definieren ein array, keine Zuordnung.Wohnungen ist ein Array, so Ihre erste accessor-index basiert.
Häuser[0]
Agenten ist ein Objekt, und das Objekt mit den zwei Tasten mit dem gleichen Namen. Das ist ein no-no.
Wenn Sie die Definition der Daten selbst, sollte man ändern
zu
Dann könnten Sie den Zugriff auf die Daten in Frage, die von
Sollten Sie Ihrem Objekt-Eigenschaften mit eindeutigen Namen versehen. In Ihrem Beispiel, der zweite name-Eigenschaft überschreibt die erste, so dass Häuser[0].Agenten.dem Namen wird immer "Mona " Mayflower".
Sobald Sie das herausfinden, ich denke, du suchst das:
Dies ist ungültige JSON-Agenten ist nur ein Objekt, kein array. Wenn Sie umstrukturiert wurde wie diese:
Dann könnten Sie
homes.Agents[1].name
zu erhalten "Mona Mayflower'Beispiel, genommen aus dem folgenden link:
"
myJSONObject.bindings[0].method
" zurück "newURI
"