我是Javascrit / JQuery的新手。
我有一个测验程序的数据结构,如下所示:
qData = {
qQuestionText: '', qAnswer1: ''
, qAnswer2: '', qAnswer3: '', qAnswer4: '', qGoodAns: '', qAnswerText: ''};
测验由一定数量的此类问题组成,我想将每个问题的数据存储在内存中或作为JSON对象发送到数据库。
我怀疑我将使用var questionList = new Array(); 并且每个项目都是JSON。
如何序列化/反序列化给定的问题?如何初始化新的问题结构?
什么是实现这一目标的最佳实践?
您可以在浏览器中使用内置的JSON对象,除非您希望支持旧的IE版本,请查看以下链接:将数组转换为JSON。
您不需要使用序列化的JSON-String发送单个问题,也可以将整个问题数组或其中的一部分与数据库同步。尝试这种情况。
// create question objects
var q1 = {question:"your question 1"};
var q2 = {question:"your question 2"};
// creat question array
var questionList = new Array();
// add question to List
questionList.push(q1);
questionList.push(q2);
var yourJsonString = JSON.stringify(questionList);
console.log("jsonstring of questions: " + yourJsonString);
var newList = JSON.parse(yourJsonString);
// loop through the parsed Array Object
for (var i in newList) {
// use tmp to get the question object
var tmp = newList[i];
// do what ever you want
console.log(tmp.question);
}
这样你会得到一些输出
jsonstring of questions: [{"question":"your question 1"},{"question":"your question 2"}]
your question 1
your question 2
可以在下面找到有关内置JSON对象的更多信息
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
在此示例中,不需要JQuery.parseJSON()。如果愿意,您当然可以使用JQuery。有关JQuery.parseJSON()的更多信息,请参见https://api.jquery.com/jQuery.parseJSON/。我认为没有必要在您的情况下使用JQuery.parseJSON()。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句