我有来自firebase的数据,看起来像是JSON格式。我想从此数据中获取ordered_item_cost和其他值。请帮我解决一下这个。 这是我的数据:
~/.vim/scratch_files/
答案 0 :(得分:0)
JSON对象是键值对,因此要访问值,您需要使用键。例如,如果您有一个名为data的变量用于存储JSON,则可以通过执行以下操作来访问这些值:
data =
{ '-LaAHp3jEK70tWB01-Go':
{ ordered_item_cost: '15',
ordered_item_name: 'bourban-biscuits',
ordered_item_quantity: '1',
ordered_item_total_cost: 15,
ordered_time: '3/17/2019, 4:26:05 PM' },
'-LaAHsjSCNqz8VbxeMgp':
{ ordered_item_cost: '5',
ordered_item_name: 'dark fantasy',
ordered_item_quantity: '1',
ordered_item_total_cost: 5,
ordered_time: '3/17/2019, 4:26:20 PM' }
}
item_cost = data['-LaAHsjSCNqz8VbxeMgp']['ordered_item_cost'] // Would get you a value of 5
答案 1 :(得分:0)
您有对象的特殊键。假设它们是随机键,并且您可能事先不知道这些键,那么您应该将它们推入数组并使用这些解析的数组键来操作对象值。
您可能想做什么
var x =
{
'-LaAHp3jEK70tWB01-Go':
{ ordered_item_cost: '15',
ordered_item_name: 'bourban-biscuits',
ordered_item_quantity: '1',
ordered_item_total_cost: 15,
ordered_time: '3/17/2019, 4:26:05 PM' },
'-LaAHsjSCNqz8VbxeMgp':
{ ordered_item_cost: '5',
ordered_item_name: 'dark fantasy',
ordered_item_quantity: '1',
ordered_item_total_cost: 5,
ordered_time: '3/17/2019, 4:26:20 PM' }
}
var arr=[]
for (var y in x) {
arr.push(y);
}
for (let i=0;i<arr.length;i++){
console.log(x[arr[i]].ordered_item_cost)
}
考虑到这一逻辑,您还可以使用内置的.map,.filter或.reduce操作对象。