2013-08-02 3 views
0

Я использовал Cordova и адаптер для хранения SQLite. Когда я храню объекты, используя JSON.stringify, и они восстанавливают их, они работают. У меня также есть несколько полей, которые являются массивами, но когда я их храню, они просто хранятся в запятой. Если в массиве есть только один элемент, он просто сохраняется как одна строка.Сохранение массивов в SQLite с использованием JavaScript

исходный массив:

["test1", "test2", "test3"] 

Хранится В:

test1, test2, test3 

Я мог бы просто разделить эти конкретные поля, когда я получить их из базы данных, но все равно интересно, если есть лучший способ для хранения их. Есть ли элегантный способ хранения массива и его загрузка в SQLite с использованием JavaScript?

ответ

0

Я не вижу никаких проблем, вы можете получить доступ к начальному массиву после разбора (JSON.parse (yourStringifiedArrayString)).

var yourarr=["test1", "test2", "test3"]; 
    var afterStringify = JSON.stringify(yourarr); 
    console.log('After Stringify:'+afterStringify); 
    var prevArr=JSON.parse(afterStringify); 
    console.log('After Parsing:'+prevArr); 
    //now access your array 
    alert(prevArr[1]);//will show test2 

Check Fiddle

+0

Думаю, ты прав. Он выглядит строковым и парсингами массивов тоже, даже если они не JSON. Я бы предположил, что использование split будет менее дорогостоящим на процессоре? – Josh

+0

Я не думаю, что раскол был бы дешевле. если вы согласны с моим ответом, тогда вы должны его принять. – anand4tech

+0

Я просто переключил все свои расщепления на использование функций json и, похоже, работает. – Josh

0

Я не вижу проблемы с сохранением массива в виде строки с разделителями. Это отлично работает для меня. Просто нужно воссоздать массив, используя метод split(), когда вы извлекаете его из SQLite.

+0

Да, я знаю, это то, что я могу работать вокруг, хотя у меня есть много таблиц и полей. Он просто чувствует, как много дополнительной логики, чтобы проверить эти поля, а затем разделить их, прежде чем возвращать результаты. – Josh

Смежные вопросы