Сериализация и нессериализация массива в javascript
Я использую библиотеку tag-it для jquery, чтобы создать систему тегов (немного похожую на stackoverflow).
После того, как пользователь набирает свои теги, библиотека возвращает массив javascript, который я хочу сохранить в базе данных MySQL. Я не нашел функцию сериализации и unserialize в javascript.
Прежде чем кодировать мою собственную функцию, я хотел бы убедиться, что я не изобретаю колесо здесь. Кажется сумасшедшим, что нет собственного способа сохранить массив в базе данных, а затем использовать его снова.
tl; dr = > как я могу сохранить массив javascript в базе данных MySQL, чтобы повторно использовать его позже?
Ответы
Ответ 1
Вы можете использовать JSON.stringify()
(документ MDN) и JSON.parse()
(документ MDN) для преобразование объекта JavaScript в строковое представление для его хранения в базе данных.
var arr = [ 1, 2, 3 ];
var serializedArr = JSON.stringify( arr );
// "[1, 2, 3]"
var unpackArr = JSON.parse( serializedArr );
// identical array to arr
Если ваш бэкэнд написан на PHP, существуют аналогичные методы для работы с строками JSON: json_encode()
(PHP document) и json_decode()
(PHP document).
Большинство других языков предлагают аналогичные функции для строк JSON.
Ответ 2
Вы можете использовать формат JavaScript Object Notation
(JSON
).
Javascript
поддерживает следующие методы:
Ответ 3
Как насчет JSON его?
var arr = [1,2,3];
var arrSerialized = JSON.stringify(arr);
...
var arrExtracted = JSON.parse(arrSerialized);
Кстати, JSON часто используется для сериализации на некоторых других языках, хотя у них есть свои собственные функции сериализации. )