我正在构建一个问卷构建器,其中一些问题的答案可能导致后续问题。下一步是序列化这些数据并将其处理成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\"}": []
}
这将是很好的解决这个问题,但我打开任何建议,以更好的方式序列化这种形式。
在JSON对象的关键只能是做出来的字符串。您可以尝试添加另一个答案对象(使用ID或其他)并使用Answer id来构建后续动作 – yoavmatchulsky 2012-07-23 16:37:14