Во-первых, ваш цитируемый код не JSON. Ваш код представляет собой буквальную нотацию объекта JavaScript. JSON - это подмножество, предназначенное для более легкого анализа.
Ваш код определяет объект ( data
) , содержащий массив ( items
) объектов (каждый с id
, name
и type
).
Для этого вам не нужен и не нужен jQuery, только JavaScript.
Добавление предмета:
data.items.push(
{id: "7", name: "Douglas Adams", type: "comedy"}
);
Это добавляет к концу. См. Ниже, как добавить в середину.
Удаление предмета:
Есть несколько способов. splice
Метод является наиболее универсальным:
data.items.splice(1, 3);
splice
изменяет исходный массив и возвращает массив удаленных вами элементов.
Добавляем посередине:
splice
фактически выполняет как добавление, так и удаление. Сигнатура splice
метода:
removed_items = arrayObject.splice(index, num_to_remove[, add1[, add2[, ...]]]);
index
- индекс, с которого нужно начинать вносить изменения
num_to_remove
- начиная с этого индекса удалите такое количество записей
addN
- ... а затем вставьте эти элементы
Итак, я могу добавить элемент на 3-ю позицию следующим образом:
data.items.splice(2, 0,
{id: "7", name: "Douglas Adams", type: "comedy"}
);
Это означает следующее: начиная с индекса 2, удалите ноль элементов, а затем вставьте следующий элемент. Результат выглядит так:
var data = {items: [
{id: "1", name: "Snatch", type: "crime"},
{id: "2", name: "Witches of Eastwick", type: "comedy"},
{id: "7", name: "Douglas Adams", type: "comedy"},
{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"}
]};
Вы можете удалить некоторые и добавить некоторые сразу:
data.items.splice(1, 3,
{id: "7", name: "Douglas Adams", type: "comedy"},
{id: "8", name: "Dick Francis", type: "mystery"}
);
... что означает: начиная с индекса 1, удалите три записи, затем добавьте эти две записи. Что приводит к:
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"}
]};