php - 操作 JSON 数组 PHP - 在数组中查找值
问题描述
我有一个通过 API 传入的 JSON 数组。我希望打印出数据,但是对于每个项目,返回的值并不总是在同一个位置。下面是返回的 JSON 示例 - 这只是 JSON 的一部分,它是一个大文件:
"standardSpecification": [
{
"Technical": [
{
"id": 13501,
"name": "Performance",
"description": "XXXXX",
"value": "standard",
"items": [
{
"id": 13502,
"name": "maximum speed (km/h)",
"value": 169
},
{
"id": 13503,
"name": "acceleration 0-62mph (s)",
"value": 12.2
},
{
"id": 113502,
"name": "maximum speed (mph)",
"value": 105
}
]
},
我无法使用诸如操纵它之类的东西,因为对于一个项目它可能是正确的,而对于另一个则不是:
echo $tech_array['standardSpecification'][5]['Technical'][11]['items'][8]['value'];
有没有办法找到“性能”,然后打印出所有与之相关的项目?我知道我可以使用 in_array() 和 array_search() 但是我不知道如何返回这些项目。
这可能是一个简单的解决方案,所以希望有人可以帮助手指交叉。
解决方案
在这种情况下,请尝试以下代码:
<?php
$json = "";//you json api response
$jsonArray = json_decode($json,true);
foreach($jsonArray['standardSpecification'] as $spec){
foreach($spec['Technical'] as $technical){
echo "Performance: ".$technical['name'];
}
}
?>
推荐阅读
- html - 如何修复在wordpress上出现的facebook共享按钮
- python - 如何修复 os.path.join(os.getcwd(), os.relpath('my_file')) 不返回'my_file'的路径?
- html - 制作一个按钮以在 div 中水平滚动
- javascript - 为什么我会收到此错误 - “您正在使用未定义的组件调用 withTheme(Component)。” -反应JS
- javascript - filter() 和 includes() 获得部分匹配
- jhipster - 有没有办法在重新生成实体时不覆盖对实体所做的修改?
- java - Java 8 - 从具有嵌套列表的对象列表中收集到地图中
- spring - resttemplate GET 将一个集合包装在一个附加标签中
- python - 如何获得只有上对角线元素的零矩阵?(上对角线元素已知)
- python - OpenAI 健身房渲染 OSError