По-перше, ваш цитований код не є 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"}
]};