Mit $ .getJSON werden Daten aus einer externen .json-Datei mit folgendem Inhalt abgerufen.jQuery vergleicht den Schlüssel eines Arrays mit dem Wert eines anderen Arrays und gibt eine Übereinstimmung zurück
{
"title_12345":"<span class=\"header-class\">Header</span>",
"p_12345":"<span class=\"description-class\">description</span>",
"p_23456":"Another paragraph",
"p_34567":"Another second paragraph",
"desc": [
"title_12345",
"p_12345",
{
"ul_12345": [
"li_1",
"li_2"
]
},
"p_23456",
{
"ul_12345": [
"li_3",
{
"ul_23456": [
"li_6",
"li_7"
]
},
"li_4",
"li_5"
]
}
],
"li_1":"Listing One",
"li_2":"Listing Two",
"li_3":"Another Listing",
"li_4":"Another Second Listing",
"li_5":"Another Thrid Listing",
"li_6":"Sub One Listing",
"li_7":"Sub Two Listing"
}
Was will ich erreichen ist, wie folgend. Erstellen Sie ein neues Objekt basierend auf dem Array "desc" mit dem Schlüsselwert des Paares.
"desc": [
"title_12345":"<span class=\"header-class\">Header</span>",
"p_12345":"<span class=\"description-class\">Description</span>",
{
"ul_12345": [
"li_1":"Listing One",
"li_2":"Listing Two"
]
},
"p_23456":"Another paragraph",
{
"ul_23456": [
"li_3":"Another Listing",
{
"ul_23456": [
"li_6":"Sub One Listing",
"li_7":"Sub Two Listing"
]
},
"li_4":"Another Second Listing"
"li_5":"Another Thrid Listing"
]
}
]
Und mit dem neuen "desc" Objekt erstellen HTML-Inhalte auf einer HTML-Seite anhängen. beachte, dass die "desc" array = die DOM-Hierarchie von Rückgabedaten
wenn Schlüssel enthalten "title_", Druckwert innerhalb eines <h4>
(ohne <span>
). Ergebnis: <h4>Header</h4>
Wenn Schlüssel "p_" enthält, Druckwert in einem <p>
(ohne <span>
). Ergebnis: <p>Description</p>
Wenn der Schlüssel "ul_" enthält, drucken Sie jedes Objekt in eine <li>
Schleife. Ergebnis: <ul><li>Listing One</li><li>Listing Two</li></ul>
Dies wird das Endergebnis auf der Seite anhängen
<h4>Header</h4>
<p>Description</p>
<ul>
<li>Listing One</li>
<li>Listing Two</li>
</ul>
<p>Another paragraph</p>
<ul>
<li>Another Listing</li>
<ul>
<li>Sub One Listing</li>
<li>Sub Two Listing</li>
</ul>
<li>Another Second Listing</li>
</ul>
Jede Idee, wie dieses Ergebnis zu erreichen mit jQuery? Danke im Voraus.
_ "Was ich will, das erreichen, ist passend "desc" Array-Wert mit Datenpaar Schlüsselwert wie folgt ... "_ - Ich möchte darauf hinweisen, dass das, was Sie unterhalb dieser Anweisung anzeigen, ein ungültiger JSON ist. Arrays *** können keine Eigenschaften haben. Nur Objekte können. Um zu bekommen, was Sie wollen, müssen Sie 'desc' in ein Objekt konvertieren und dann die zwei inneren Objekte in ein zusätzliches Array verschachteln ... – War10ck