问题

时间:2016-05-31 07:39:13

标签: javascript jquery json

尝试使用JSON组织基于问题的游戏布局。是否更好地在每个问题中添加ID标识符,还是可以在每个问题中使用内置的id标识符?功能是当用户首次点击第一个问题时,它将subQuestion加载到下一张幻灯片中。 感谢

我认为有两种方法可以做到。

版本1:

"question": {
    "id": "0",
    "name": "Incentive Trip",
    "subQuestion": {
        "name": "Bond Up With Clients",
        "subsubQuestion": {
            "1,421": "Experiencing Adventures",
            "2,284": "Immersing Into Culture",
            "3,394": "Overcoming Challenges"
        },
        "name": "Increase Loyalty",
        "subsubQuestion": {
            "1,212": "Adding Value",
            "2,930": "Making Difference",
            "3,489": "Starting VIP club"
        },
        "name": "Reward Team",
        "subsubQuestion ": {
            "1,329": "Being A Tourist",
            "2,586": "Enjoying Sunshine",
            "3,498": "Surprising Colleagues"
        }
    },
},

版本2 - 没有标识符,只是嵌套:

"Marketing Event" : {
    "Encourage Relationship": {
        "1,398": "Knitting Web",
        "2,59": "Rewarding Favourites",
        "3,378": "Top Hatting"
    },
    "Increase Awareness": {
        "1,102": "Enjoying The Vibe",
        "2,495": "Interacting Through Brand",
        "3,697": "Standing Out"
    },
    "Launch Product": {
        "1,287": "Educating Masters",
        "2,495": "Shocking Audience",
        "3,394": "Steering Wheel"
    }
},

1 个答案:

答案 0 :(得分:2)

解决方案1 ​​

检查this回答。对象属性不在保证顺序中。所以如果你想确保你的用户确实得到下一个问题,你肯定应该添加一个id。

解决方案2

混合混合数组和对象怎么样?您的ID就是数组索引,并且保证顺序,如here所述。

[
    "Marketing Event" : {
        "Encourage Relationship": {
            "1,398": "Knitting Web",
            "2,59": "Rewarding Favourites",
            "3,378": "Top Hatting"
        },
        "Increase Awareness": {
            "1,102": "Enjoying The Vibe",
            "2,495": "Interacting Through Brand",
            "3,697": "Standing Out"
        },
        "Launch Product": {
            "1,287": "Educating Masters",
            "2,495": "Shocking Audience",
            "3,394": "Steering Wheel"
        }
    },
    "Another Event" : {
        "Another Relationship": {
            "1,398": "Knitting Web",
            "2,59": "Rewarding Favourites",
            "3,378": "Top Hatting"
        },
        "Another Awareness": {
            "1,102": "Enjoying The Vibe",
            "2,495": "Interacting Through Brand",
            "3,697": "Standing Out"
        },
        "Another Product": {
            "1,287": "Educating Masters",
            "2,495": "Shocking Audience",
            "3,394": "Steering Wheel"
        }
    }
]