在JavaScript中使用和存储json文本

时间:2013-08-20 04:02:49

标签: javascript json

我正在制作一个2D,自上而下的塞尔达式网络单人RPG ......

我想以JSON格式存储对话框...

目前我将json作为外部javascript文件。 json存储在js / json.js中:

function getJson() {

var json = {
    "people" : 
    [
        {//NPC 1 - rescue dog

etc...

然后我在我的主游戏javascript文件中使用它<script src="js/json.js"></script> ..`

var json = getJson();

然后使用它:

Labels[index].text = json.people[index].dialogs.start.texts[0];

如果我将json保存为javascript函数中的js文件,这有关系吗?或者它应该存储为.txt文件然后解析?

谢谢!

2 个答案:

答案 0 :(得分:1)

无关紧要,但JSON数据也是JavaScript,因此将其存储为.js,稍后您可以根据需要向其添加更多与数据相关的函数,顺便提一下您的数据文件已经有getJSON函数所以将它存储为.txt

是没有意义的

另一方面,如果API正在提供此数据,则根本不需要任何扩展名。

答案 1 :(得分:0)

如果您使用的是vanilla JavaScript,最好以纯JSON格式存储数据,并通过jQuery.getJSON()XMLHttpRequest检索数据。否则,您似乎将getJson()添加到全局范围,如果您在其他位置定义了另一个getJson(),则可能会导致冲突。

所以你可以拥有一个与你现在几乎相同的dialog.json,只是没有不必要的getJson()函数:

{
    "people" : 
    [
        {//NPC 1 - rescue dog
         ...
        }
    ]
}

如果您选择使用jQuery:

var dialog;
$.getJSON('json/dialog.json', function(data) {
    dialog = data;
    // Asynchronous success callback.
    // Now dialog contains the parsed contents of dialog.json.
    startGame();
});

将您的数据与逻辑分开。