我正在建立一个调查问卷构建器,其中一些问题的答案可以导致后续问题。下一步是序列化此数据并将其处理为SQL查询。即使我使用的是jQuery,我也不认为serializeArray()
足够复杂,可以按照我想要的方式序列化数据,这就像:
Answer = {
'text': String,
'default': String,
'img_path': String
}
Question = {
'type': String,
'text': String,
'followups': {
Answer : [Question, Question, ...],
Answer : [Question],
Answer : []
}
}
我遇到的问题是当我尝试使用Answer
对象作为'followups'
地图中的关键字时 - 当我使用JSON.stringify()
时,而不是字符串化键,输出为[object Object]。
编辑:
对键进行字符串化是保存数据的一种方法,但是有一些令人讨厌的转义,例如。
"followups": {
"{\"text\":\"asdfasdfa\"}": []
}
解决这个问题会很好,但我愿意接受有关更好地序列化此表单的任何建议。
答案 0 :(得分:1)
您可能需要稍微修改数据结构,类似于:
Question = {
'type': String,
'text': String,
'followups': [
{
answer : Answer,
questions : [Question, Question, ...]
},
{
answer : Answer,
questions : [Question]
},
{
answer : Answer,
questions : []
}
]
}