javascript - 如何从与值同名的api获取json数据
问题描述
我想制作一个在 json 中搜索数据的系统。所以我在rest api上有json。api看起来像这样
[
{
"info": "cute but big animal",
"type": "pig",
"name": "patty"
},
{
"info": "Barks all the time",
"type": "dog",
"name": "parker"
},
{
"info": "Makes delicious eggs",
"type": "chicken",
"name": "chicky"
}
]
有很多具有相同名称的值。
我用谷歌搜索了很多,但他们都说我需要编号。
data.value[1]
我希望能够搜索 patty 并获取信息和类型只是获取 json 数据
Javascript 或 nodeJS
解决方案
如果您同时知道键和值,这似乎是最简单的方法:
const arrayOfObjects = [
{
"info": "cute but big animal",
"type": "pig",
"name": "patty"
},
{
"info": "Barks all the time",
"type": "dog",
"name": "parker"
},
{
"info": "Makes delicious eggs",
"type": "chicken",
"name": "chicky"
}
];
const key = 'name';
const value = 'patty';
const object = arrayOfObjects.find(obj => obj[key] === value);
console.log(object);
如果您不知道密钥,这是一种可能的方法:
const arrayOfObjects = [
{
"info": "cute but big animal",
"type": "pig",
"name": "patty"
},
{
"info": "Barks all the time",
"type": "dog",
"name": "parker"
},
{
"info": "Makes delicious eggs",
"type": "chicken",
"name": "chicky"
}
];
const value = 'patty';
const object = arrayOfObjects.find(
obj => Object.values(obj).some(val => val === value)
);
console.log(object);
推荐阅读
- node.js - 如何将心跳分离到自己的线程以进行 RabbitMQ 连接
- java - 代理 nginx 后面的 Jhipster 存储本地服务器 ip 而不是审计表中的请求 IP
- r - 按日期范围熔化数据
- routes - 无论如何要在 Appcelerator 中的 MAPS 上删除路线或折线
- ibm-cloud-private - 设置 Helm cli 导致致命的“错误:远程错误:tls:错误证书”
- c - 输出未知输入的十进制版本
- spring-cloud-dataflow - 使用spring cloud skipper在k8s上附加版本作为服务/部署名称背后的合理性
- excel - 如何获取超过截止日期的日期百分比?
- php - 博客文章上的 PHP 时间戳问题
- angular - Angular 单元测试 - 在 ViewChild 中引用/模拟指令