0

我正在构建一个问卷构建器,其中一些问题的答案可以导致后续问题。下一步是序列化这些数据并将其处理为 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\"}": []
}

解决这个问题会很好,但我愿意接受任何有关序列化此表单的更好方法的建议。

4

1 回答 1

1

您可能需要稍微修改您的数据结构,类似于以下内容:

Question = { 
    'type': String,
    'text': String,
    'followups': [
        {
            answer : Answer,
            questions : [Question, Question, ...]
        },
        {
            answer : Answer,
            questions : [Question]
        },
        {
            answer : Answer,
            questions : []
        }
    ]
}
于 2012-07-23T16:38:10.977 回答