json - 无法访问此 JSON 嵌套对象
问题描述
我一直在尝试访问这个嵌套的 json 对象,它是来自 firebase 的响应。我在前端使用 angular 7,我想在页面上显示这些数据。
返回数据:
{"-LZn4rzsI3_0Mm0pcUZ2":{"email":"primedine@gmail.com","name":"Prime
Dine Restaurant","phone":9512556799},"-LZn4vGB7v0frlDywQ1x":
{"email":"mango@gmail.com","name":"@Mango","phone":7992556799},"-
LZn4xyGeo-yh6945mKC":{"email":"desitadka@gmail.com","name":"Global
Desi Tadka","phone":8872556799},"-LZn50DSU3JNw6hNcdzz":
{"email":"vishala@gmail.com","name":"VIshala","phone":9972556799}}
到目前为止,我已经尝试通过将响应放入变量中然后使用 data[0][name] 进行访问,但它不起作用。我也尝试通过密钥(此处的名称)访问它,但这也不起作用。请问有什么建议吗?
解决方案
您应该使用JSON.parse()
,如下所示:
var json = '{"-LZn4rzsI3_0Mm0pcUZ2":{"email":"primedine@gmail.com","name":"Prime
Dine Restaurant","phone":9512556799},"-LZn4vGB7v0frlDywQ1x":
{"email":"mango@gmail.com","name":"@Mango","phone":7992556799},"-
LZn4xyGeo-yh6945mKC":{"email":"desitadka@gmail.com","name":"Global
Desi Tadka","phone":8872556799},"-LZn50DSU3JNw6hNcdzz":
{"email":"vishala@gmail.com","name":"VIshala","phone":9972556799}}';
var obj = JSON.parse(json);
//Use the object as desired, for example:
Object.keys(obj).forEach(e =>
console.log(`key = ${e} name = ${obj[e].name}`)
);
推荐阅读
- c++ - 我的 SDL2 程序需要哪些二进制文件才能在另一台未安装 SDL2 的计算机上运行
- android - Android Kotlin Pusher Chatkit - 错误 - 需要房间会员资格
- python-3.x - 排序和使行具有相同的索引pandas python
- php - 通过 PDO 在 docker 容器上连接到 Mysql 时出现问题,但命令行有效
- jquery - Laravel 数据表错误 - 无法重新初始化数据表
- node.js - 如何使用 Node.js 读取 Django 应用程序中的服务器文件?
- html - Angular 5 - 如何从 *ngIf div 中的元素获取ElementById?
- android - 检测用户是否进入或退出 Flutter 中的选项卡
- google-app-engine - Google Datastore - 确保只为具有特定祖先键的实体创建一个实体
- docker - 为什么 docker compose dns 不能解析为实际 ip 但 docker run network-alias 能够解析?