我想将数据存储在localStorage中。我想使其像数据库一样。
这是一个样本。用户将创建一个电子测试;它将具有标题和描述。一个以上的问题,每个问题都有多个选择。
另一个用户可以创建另一个电子测试。如何将其存储在localStorage中?
目前,我正在这样做:
KEY | VALUES
----------------------------------------------------------
Tests | ["Sample","Sample2","Sample3"]
----------------------------------------------------------
Description | ["Sample","Sample2","Sample3"]
----------------------------------------------------------
Sample2 | ["question1","question2","question3"]
----------------------------------------------------------
question3 | ["Question","choice1","choice2","choice3"]
----------------------------------------------------------
question3_ifAnswer | ["","","yes","yes"]
----------------------------------------------------------
我认为有更好的存储方式。顺便说一句,该问题以及每个问题中的选择都是动态添加的。
如何更好地存储和检索它?
作为一堆阵列,这确实很难管理。
我可能会将其存储为这样的javascript对象,然后将其转换为json并将结果json存储在localStorage中。
我假设您了解localStorage的局限性
var tests = [
{
title: "title 1",
description: "Desc 1",
questions: [
{
name: "question 1",
type: "text"
},
{
name: "question 2",
type: "multiple choice",
options: [
{
code: "A",
description: 'Choice A'
},
{
code: "B",
description: 'Choice B'
},
{
code: "C",
description: 'Choice C'
}
],
answer: ""
}
]
},
{
title: "test 2",
description: "Desc for test 2",
questions: [], //etc
answer: ""
}
];
var jsonstr = JSON.stringify(tests);
显然,我只能猜测您的意图,因此您需要进行调整以适合您的需求
当您从localStorage中将其作为JSON字符串检索时,请使用以下命令将其转换回对象/数组
tests = JSON.parse(jsonstr);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句