firebase - 如何引用json响应的多个孩子的孩子
问题描述
我目前正在尝试为我的应用获取我firebase-realtime-database
使用的数据。目标是在我的应用程序中有多个卡片,它们的值分别为“纬度”、“经度”、“名称”、“价格”和一张图片。为了渲染卡片,我使用了地图功能。axios
react-native
我写了一个google-cloud-functions
从我的数据库中获取数据:
const admin = require('firebase-admin');
module.exports = function(req, res) {
admin.database().ref('locations/').on('value', function(snapshot) {
res.send(snapshot.val());
}, err => res.send({ error: err }));
}
响应如下:
{
"-LXd6BopD1onEMc--1qS": {
"latitude": xxxx,
"longitude": xxxx,
"name": "xxxx",
"price": "xxx",
"url": "xxxxx"
},
"-LXd7GokGQqkxkhDXJBd": {
"latitude": xxxx,
"longitude": xxxx,
"name": "xxxx",
"price": "xxxx",
"url": "xxxxxx"
},
}
孩子的键/名称基本上是未知的,因为我使用“推送”将数据放入数据库,这会为每个条目创建唯一的键。
我目前正在使用它来访问数据,但不幸的是“数据”始终未定义。
let { data } = await axios.get(`${ROOT_URL}/getValues`)
所以我有两个问题:
为什么“数据”未定义,我该如何解决?
如果第一个问题得到解决,我如何从两个孩子那里获取数据,因为我没有明确知道他们的密钥。我如何引用它们?
谢谢您的帮助!
解决方案
1.-await axios.get('${ROOT_URL}/getValues')
此代码返回一个承诺,因此您仍然需要解决该承诺以从中获取数据
2.- 你得到数据后,你可以用 Object.keys 或 Object.entries 对其进行迭代。查看代码片段
希望这可以帮助
async function request(){
return await axios.get('https://jsonplaceholder.typicode.com/posts/1');
}
async function makeRequest() {
const {data} = await request(); // this line resolves the promise
console.log(data);
}
makeRequest();
const dummyResponse = {
"-LXd6BopD1onEMc--1qS": {
"latitude": 'xxxx',
"longitude": 'xxxx',
"name": "xxxx",
"price": "xxx",
"url": "xxxxx"
},
"-LXd7GokGQqkxkhDXJBd": {
"latitude": 'xxxx',
"longitude": 'xxxx',
"name": "xxxx",
"price": "xxxx",
"url": "xxxxxx"
},
};
Object.keys(dummyResponse).forEach( key => {console.log(key)})
Object.entries(dummyResponse).forEach( entry => {console.log(entry)})
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.min.js"></script>
推荐阅读
- vue.js - 使用“createElement”函数时如何使道具绑定反应
- java - ElasticSearch Java RestClient - 等待 f 或 [30000] 毫秒后的侦听器超时
- regex - python:解包列表和集合
- sql - SQL 2000 和 SQL 2008 之间的 SQL 排序规则问题
- android - 我的应用程序在向下滚动自定义 ListView 时关闭
- jquery - 如何在获取 jQuery Datatable 上的记录时显示加载图像?
- php - 当我单击编辑按钮时,编辑表单中没有显示此错误
- vba - vba转换公式的值
- mockito - Mockito 方法调用
- php - 我想让 php 继续监听套接字(php 套接字编程)