在JavaScript中使用和存储json文本
我正在制作一个2D,自上而下的塞尔达风格的网络单人rpg 我想以JSON格式存储对话框 目前,我将json作为一个外部javascript文件。json存储在js/json.js中:在JavaScript中使用和存储json文本,javascript,json,Javascript,Json,我正在制作一个2D,自上而下的塞尔达风格的网络单人rpg 我想以JSON格式存储对话框 目前,我将json作为一个外部javascript文件。json存储在js/json.js中: function getJson() { var json = { "people" : [ {//NPC 1 - rescue dog etc... 然后我在我的主游戏javascript文件中使用它,例如` var json = getJson(); 然后按如下方式使用
function getJson() {
var json = {
"people" :
[
{//NPC 1 - rescue dog
etc...
然后我在我的主游戏javascript文件中使用它,例如
`
var json = getJson();
然后按如下方式使用:
Labels[index].text = json.people[index].dialogs.start.texts[0];
如果我将json作为js文件保存在javascript函数中,这有关系吗?还是应该将其存储为.txt
文件,然后进行解析
谢谢 这没关系,但JSON数据也是JavaScript,所以将其存储为
.js
,以后您可以根据需要向其添加更多与数据相关的函数,顺便说一句,您的数据文件已经有了getJSON
函数,因此将其存储为.txt
另一方面,如果API为这些数据提供服务,它根本不需要任何扩展。这没关系,但JSON数据也是JavaScript,因此将其存储为
.js
,以后如果需要,您可以向其添加更多与数据相关的函数,顺便说一句,您的数据文件已经有了一个getJSON
函数,所以将其存储为.txt
另一方面,如果API为这些数据提供服务,那么它根本不需要任何扩展。最好以纯JSON格式存储数据,并通过或检索数据,如果您使用的是普通JavaScript。否则,看起来您正在将
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();
});
将数据与逻辑分开。如果您使用的是普通JavaScript,最好以纯JSON格式存储数据并通过或检索。否则,看起来您正在将
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();
});
将数据与逻辑分开