所以,我有這個函數可以獲取JSON對象,但我想使它更簡單,所以我創建了一個函數來獲取JSON對象的值。爲什麼它不起作用?JavaScript將字符串轉換爲json對象
var itemData = {
weapon: function() {
return {
1: {
'name': 'Dagger',
'extra_skill': 'none',
'cost': 500,
'attack': 5
},
2: {
'name': 'Pickaxe',
'extra_skill': 'mining',
'cost': 25,
'attack': 5
}
}
},
getWeapon: function (value, x) {
var obj = JSON.parse(value);
return itemData.weapon()[x].obj
}
}
// outputs: Dagger
console.log(itemData.weapon()[1].name)
// Get the name of weapon 1
// however, it outputs: Uncaught SyntaxError: Unexpected token a
console.log('Getting weapon... ' + itemData.getWeapon('name', 1))
我在做什麼錯?
JSON是一個**文本註釋**。如果您正在編寫JavaScript代碼,那麼除非您要處理字符串,否則不會處理JSON。在你的問題中根本沒有JSON;因此,不需要'JSON.parse'(事實上,這是問題的一部分)。 –