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()

編集:

キーを文字列化することはデータを保持する1つの方法ですが、その場合、いくつかの厄介なエスケープがあります。

"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 に答える