Javascript RPG:在DB或JSON中存储对话框

Javascript RPG:在DB或JSON中存储对话框,javascript,jquery,mysql,ajax,json,Javascript,Jquery,Mysql,Ajax,Json,我正在创建一个RPG。我最初将NPC对话框存储在JS对象中。我可以按自己的意愿在一个数组中循环浏览冗长的对话框。我还可以使用K:V对存储对象 也就是说,在前端的JSON/JS对象中管理、存储和检索对话框是否更容易/更快 var dialog = { quests : { quest1 : { NPCName: { "Task 1 - Introductions" : {

我正在创建一个RPG。我最初将NPC对话框存储在JS对象中。我可以按自己的意愿在一个数组中循环浏览冗长的对话框。我还可以使用K:V对存储对象

也就是说,在前端的JSON/JS对象中管理、存储和检索对话框是否更容易/更快

var dialog = {
    quests : {
        quest1 : {  
            NPCName: {      
                "Task 1 - Introductions" :
                {
                    "dialog" :
                    [
                        "I'm Pedro",
                        "Welcome to my neighborhood",
                         etc...,
                    ],
                    "wordBank" :
                    {
                        "Hola" : "Hello",
                        "Como" : "What",         
                    }
或者在数据库中,通过AJAX请求进行检索并像这样解析为JSON

        function getData (functionToRun) {  
            $.getJSON("phpscripts.php", {"_functionToRun" : functionToRun},
                function (returned_data) {                      
                    var nm = returned_data.task_name,
                        spn = returned_data.task_spanish,
                        rsp = returned_data.task_userResponse;

                }
            );
        }   


最好的做法是执行第一个代码段中的操作,但通过JSON加载数据,而不是将其嵌入页面中。为每个单独的对话框发送JSON请求会随着加载时间的增加而变得昂贵,而且这是不必要的通信量。我建议将每个JSON请求的整个任务对话框加载到服务器。

与什么相比更容易/更快?@cmbasnett与数据库相比。阅读问题,为什么不能两者都读?键/值存储+JSON。为什么存储为JSON比将其嵌入页面/加载更好呢?我假设不需要立即使用所有对话框,因此为了初始页面加载时间,最好只使用第一个任务(或用户所在任务)的对话框加载,然后根据需要加载下一个。通过一次加载一个完整的任务,与服务器的事务更少,而且,不需要再次加载完成的任务。如果有大量用户在玩游戏,那么不必要的带宽使用就会增加。