Javascript 我可以使用任何字符串作为JSON属性名吗?
可以使用任何utf-8字符串作为JSON属性名吗?我的意思是这样可以吗:Javascript 我可以使用任何字符串作为JSON属性名吗?,javascript,json,Javascript,Json,可以使用任何utf-8字符串作为JSON属性名吗?我的意思是这样可以吗: var personData = { 'Matti Möttönen': { "FirstName": "Matti", "LastName": "Möttönen", }, ... 目前我正在使用Vue.js,数据来自平面文件。是的,您可以: var personData = { 'M
var personData = {
'Matti Möttönen': {
"FirstName": "Matti",
"LastName": "Möttönen",
},
...
目前我正在使用Vue.js,数据来自平面文件。是的,您可以:
var personData = {
'Matti Möttönen': {
"FirstName": "Matti",
"LastName": "Möttönen",
},
}
甚至
var personData = {
['Matti Möttönen']: {
"FirstName": "Matti",
"LastName": "Möttönen",
},
}
你可以称之为
personData['Matti Möttönen']
是的,你可以:
var personData = {
'Matti Möttönen': {
"FirstName": "Matti",
"LastName": "Möttönen",
},
}
甚至
var personData = {
['Matti Möttönen']: {
"FirstName": "Matti",
"LastName": "Möttönen",
},
}
你可以称之为
personData['Matti Möttönen']
如中所述
属性是一个“key:value”对,其中key是一个字符串,也称为“属性名”,值可以是任何值
因此,为了回答您的问题,只要您使用字符串作为键,就应该可以了。如中所述
属性是一个“key:value”对,其中key是一个字符串,也称为“属性名”,值可以是任何值
因此,要回答您的问题,只要您使用字符串作为键,就应该没问题。在定义对象时不需要['Matti Möttönen','Matti Möttönen'是完全有效的。@VLAZ感谢您指出这一点,并相应地编辑了我的答案。在定义对象时不需要['Matti Möttönen,“Matti Möttönen”完全正确。@VLAZ谢谢你指出这一点,并据此编辑了我的答案。你能做到吗?对你应该这样做吗?可能不会。它使数据更难访问,而且你在其中有不必要的重复信息。@ceejayoz它比任何其他字符串作为键更难吗?@VLAZ你必须知道这个人的名字才能访问他们的名字。那是。。。不是最优的。@ceejayoz说这个名字作为一个值来自其他地方是相当安全的。用户输入或任何东西。数据也几乎不重复——它将一个名称分解为其组成部分。日本名字的顺序不同。文森特·梵高的姓氏可能是高,也可能是梵高,这取决于他的国籍。@ceejayoz不,你不能从各个部分重建全名。请用{firstName:Yun-Fat,lastName:Chow}和{firstName:John,lastName:Doe}试一下。我对将它们分别转换成周润发和约翰·多伊的算法感兴趣。因为它肯定不是p.firstName++p.lastname你能做到吗?对你应该这样做吗?可能不会。它使数据更难访问,而且你在其中有不必要的重复信息。@ceejayoz它比任何其他字符串作为键更难吗?@VLAZ你必须知道这个人的名字才能访问他们的名字。那是。。。不是最优的。@ceejayoz说这个名字作为一个值来自其他地方是相当安全的。用户输入或任何东西。数据也几乎不重复——它将一个名称分解为其组成部分。日本名字的顺序不同。文森特·梵高的姓氏可能是高,也可能是梵高,这取决于他的国籍。@ceejayoz不,你不能从各个部分重建全名。请用{firstName:Yun-Fat,lastName:Chow}和{firstName:John,lastName:Doe}试一下。我对将它们分别转换成周润发和约翰·多伊的算法感兴趣。因为它肯定不是p.firstName++p.lastName