0
這可能是一個JS問題,我不確定。JSON命名對象與名稱屬性的數組
我正在使用JSON存儲遊戲中敵人的數據。我目前正在構建這樣的:
{
"Area 1": {
"Enemy Name": {
"type": "Human",
"lvl": 30
},
"Enemy 2": {
"type": "Human",
"lvl": 30
}
},
"Area 2": {
"Enemy 1": {
"type": "Human",
"lvl": 30
},
"Enemy 2": {
"type": "Human",
"lvl": 30
}
}
}
我想知道我是否應該使用敵人的數組,與"name"
屬性,而不是每一個區域來代替。像這樣:
{
"Area 1": [
{
"name": "Enemy Name",
"type": "Human",
"lvl": 10
},
{
"name": "Enemy 2",
"type": "Human",
"lvl": 30
}
],
"Area 2": [
{
"name": "Enemy 1",
"type": "Human",
"lvl": 30
},
{
"name": "Enemy 2",
"type": "Human",
"lvl": 30
}
]
}
我相信第二個是我應該這樣做的方式,但希望他人的反饋。我認爲,第一種方法是,我需要知道敵人的名字才能讀取他們的數據,而在數組中,我可以循環遍歷區域並閱讀每個區域的敵人。 在此先感謝您的幫助!
我認爲與第二種方式,你將能夠更方便地操縱你的數據,因爲它的形式是數組。爲什麼這是一個優勢?因爲默認情況下數組是可迭代的,而不是不可迭代的對象的情況(但你可以使它們成爲這樣)。但請記住,您將無法使用JSON數組中的函數,日期和未定義。 –
我同意*「iterator」*聲明,但除非問題實際上可以用「在您的上下文中的實際用法」來表達,否則它實際上只是基於意見。雖然我確實相信命名的鍵是「反模式」。國際海事組織是。 –
你可以走一步,並創建一個區域對象數組: '[{areaName:'Area 1',敵人:[{name:'enemy 1',type:'human'},{name:'enemy 2 ',鍵入:'human'}]},{},{}]' –