【发布时间】:2018-11-03 12:18:57
【问题描述】:
这是我的 JSON 响应来自 URL API。我使用GuzzleHttp\Client 和json_decode() 来管理。
[{
"INDEX_ID": "0",
"NOTES": "0; Farming"
},
{
"INDEX_ID": "1",
"NOTES": "Fruit Name; List of Fruits;"
},
{
"INDEX_ID": "2",
"NOTES": "Apple"
},
{
"INDEX_ID": "3",
"NOTES": "Orange"
},
{
"INDEX_ID": "4",
"NOTES": "Grapes"
},
{
"INDEX_ID": "5",
"NOTES": "Mango"
},
{
"INDEX_ID": "6",
"NOTES": "Animal Name; List of Animal;"
},
{
"INDEX_ID": "7",
"NOTES": "Pig"
},
{
"INDEX_ID": "8",
"NOTES": "Goat"
},
{
"INDEX_ID": "9",
"NOTES": "Cow"
}]
但我只需要在我的日志文件中保存水果列表。有人可以帮助我如何排除其他 json 参数并使用foreach loop 或任何方法仅获取特定的 json 参数以获得该结果。
我只是希望它是这样的:
[
{
"NOTE_NO." : "001",
"CATEGORY" : "FRUITS",
"LISTS_TO_BUY" : [
{
"FRUITS": "Apple"
},
{
"FRUITS": "Orange"
},
{
"FRUITS": "Grapes"
},
{
"FRUITS": "Mango"
}
]
}
]
到目前为止,他是我的代码:
$response_body = json_decode($json_response, true);
$json_new_param = [];
foreach ($response_body as $value) {
$json_new_param[] = [
'FRUITS' => $value['NOTES']
];
}
$header = [
[
'NOTE_NO.' => '001',
'CATEGORY' => 'FRUITS',
'LISTS_TO_BUY' => $json_new_param
]
];
echo json_encode($header);
$json_response 是上面给出的响应。
【问题讨论】:
-
您好,您不能在您对 API 的初始请求中添加一些过滤器,以便仅获取水果或至少按类别分组的项目或类似的东西吗?因为在响应的当前状态下,我看不到任何可以帮助识别哪个中间件是水果的通用属性(当然除了它的名称)。
-
你如何比较水果,你有另一组只包含水果的值吗?