解析节点JS中的Json数据

时间:2019-04-17 14:09:48

标签: node.js firebase

我有来自firebase的数据,看起来像是JSON格式。我想从此数据中获取ordered_item_cost和其他值。请帮我解决一下这个。 这是我的数据:

~/.vim/scratch_files/

2 个答案:

答案 0 :(得分:0)

JS中的

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操作对象。