Подтвердить что ты не робот

Сериализация и нессериализация массива в javascript

Я использую библиотеку tag-it для jquery, чтобы создать систему тегов (немного похожую на stackoverflow).

После того, как пользователь набирает свои теги, библиотека возвращает массив javascript, который я хочу сохранить в базе данных MySQL. Я не нашел функцию сериализации и unserialize в javascript.

Прежде чем кодировать мою собственную функцию, я хотел бы убедиться, что я не изобретаю колесо здесь. Кажется сумасшедшим, что нет собственного способа сохранить массив в базе данных, а затем использовать его снова.

tl; dr = > как я могу сохранить массив javascript в базе данных MySQL, чтобы повторно использовать его позже?

4b9b3361

Ответ 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 поддерживает следующие методы:

  • JSON.stringify → сериализует объект в строку

  • JSON.parse → десериализует объект из строки

Ответ 3

Как насчет JSON его?

var arr = [1,2,3];
var arrSerialized = JSON.stringify(arr);
...

var arrExtracted = JSON.parse(arrSerialized);

Кстати, JSON часто используется для сериализации на некоторых других языках, хотя у них есть свои собственные функции сериализации. )