构建数据库,我需要使用JSON吗?此外,对象属性名称中的撇号?

时间:2015-12-18 07:19:10

标签: javascript json regex

我正在建立一个可作为手机游戏数据库的网站。游戏中有几个项目将在数据库中,其名称包含撇号。当这些项是对象属性的值时,这当然没问题,但有时我需要它们作为对象属性本身,我想知道什么是处理它的好方法?

我有一种感觉,我应该将数据库转换为JSON,但我对这种事情还很陌生,还没有冒险尝试那么远,但很想听听你的意见

除了撇号之外,许多物品的名称中还有空格(" Chieftain' s Blade&#34 ;,)现在我只是使用下划线表示空间,当我需要将该对象输出到DOM时,计划使用Regex将_替换为空格。我想我也许可以用撇号做同样的事情,在那里我可以使用其他符号然后用Regex替换它,但是有更好的方法吗?

我的主要问题是关于撇号,但我非常感谢有关如何组织一个包含大约1000个对象的数据库的一般性指导,每个对象各有10-15个属性。我应该把它留在我的JS文件中还是有更好的解决方案?

1 个答案:

答案 0 :(得分:2)

关于撇号和空格:如果您正在谈论JavaScript属性名称(键),那么在它们中包含撇号或空格没有问题,您只需使用括号表示法和一个字符串:

var obj = {};
obj["Chieftain's Blade"] = 42;
console.log(obj["Chieftain's Blade"]); // 42

请注意,字符串可以来自任何表达式,而不仅仅是文字。所以:

var obj = {};
obj["Chieftain's Blade"] = 42;
var name = "Chieftain's Blade";
console.log(obj[name]); // 42

如果要在对象初始值设定项中定义类似的属性,只需使用引号:

var obj = {
    "Chieftain's Blade": 42
};
console.log(obj["Chieftain's Blade"]); // 42