serialize:将数据结构反序列化到JSON /从JSON反序列化

用户名

我是Javascrit / JQuery的新手。

我有一个测验程序的数据结构,如下所示:

qData = {
            qQuestionText: '', qAnswer1: ''
        , qAnswer2: '', qAnswer3: '', qAnswer4: '', qGoodAns: '', qAnswerText: ''};

测验由一定数量的此类问题组成,我想将每个问题的数据存储在内存中或作为JSON对象发送到数据库。

我怀疑我将使用var questionList = new Array(); 并且每个项目都是JSON。

如何序列化/反序列化给定的问题?如何初始化新的问题结构?

什么是实现这一目标的最佳实践?

Yingding Wang

您可以在浏览器中使用内置的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章