Zunächst einmal ist Ihr zitierter Code nicht JSON. Ihr Code ist die JavaScript-Objektliteralnotation. JSON ist eine Teilmenge von JSON , die zum einfacheren Parsen entwickelt wurde.
Ihr Code definiert ein Objekt ( data
) , das ein Array ( items
) von Objekten (jeweils mit einem id
, name
und type
).
Sie brauchen oder wollen dafür kein jQuery, nur JavaScript.
Hinzufügen eines Elements:
data.items.push(
{id: "7", name: "Douglas Adams", type: "comedy"}
);
Das trägt zum Ende bei. Siehe unten für das Hinzufügen in der Mitte.
Einen Gegenstand entfernen:
Es gibt verschiedene Möglichkeiten. Die splice
Methode ist die vielseitigste:
data.items.splice(1, 3); // Removes three items starting with the 2nd,
// ("Witches of Eastwick", "X-Men", "Ordinary People")
splice
Ändert das ursprüngliche Array und gibt ein Array der entfernten Elemente zurück.
Hinzufügen in der Mitte:
splice
Tatsächlich werden sowohl hinzugefügt als auch entfernt. Die Signatur der splice
Methode lautet:
removed_items = arrayObject.splice(index, num_to_remove[, add1[, add2[, ...]]]);
index
- der Index, ab dem Änderungen vorgenommen werden sollen
num_to_remove
- Entfernen Sie beginnend mit diesem Index so viele Einträge
addN
- ... und dann diese Elemente einfügen
So kann ich einen Artikel an der 3. Position wie folgt hinzufügen:
data.items.splice(2, 0,
{id: "7", name: "Douglas Adams", type: "comedy"}
);
Das heißt: Ab Index 2 entfernen Sie null Elemente und fügen Sie dann das folgende Element ein. Das Ergebnis sieht folgendermaßen aus:
var data = {items: [
{id: "1", name: "Snatch", type: "crime"},
{id: "2", name: "Witches of Eastwick", type: "comedy"},
{id: "7", name: "Douglas Adams", type: "comedy"}, // <== The new item
{id: "3", name: "X-Men", type: "action"},
{id: "4", name: "Ordinary People", type: "drama"},
{id: "5", name: "Billy Elliot", type: "drama"},
{id: "6", name: "Toy Story", type: "children"}
]};
Sie können einige entfernen und einige sofort hinzufügen:
data.items.splice(1, 3,
{id: "7", name: "Douglas Adams", type: "comedy"},
{id: "8", name: "Dick Francis", type: "mystery"}
);
... was bedeutet: Ab Index 1 drei Einträge entfernen und diese beiden Einträge hinzufügen. Was in ... endet:
var data = {items: [
{id: "1", name: "Snatch", type: "crime"},
{id: "7", name: "Douglas Adams", type: "comedy"},
{id: "8", name: "Dick Francis", type: "mystery"},
{id: "4", name: "Ordinary People", type: "drama"},
{id: "5", name: "Billy Elliot", type: "drama"},
{id: "6", name: "Toy Story", type: "children"}
]};