php - 如何以“必需”作为她的值来获取所有变量?在获取 cURL PHP
问题描述
我正在尝试构建一个使用来自另一个站点的 API 的页面。我对此很友好,所以我的问题可能很愚蠢。这个网站有一堆类别,每个类别都有不同的字段需要填写,以便您可以发布项目。因此,不是我为每个类别创建一个页面,而是尝试传递一个已经在他们的 API 上可用的 get 获取具有Required
它的值的变量,这样我就可以将它传递给我的代码以正确的方式填充它。
所以如果我通过:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/categories/MLA1055
它返回给我很多结果,其中一些是:
"shipping_profile": "optional",
"show_contact_information": false,
"simple_shipping": "optional",
"stock": "required"
所以我的想法是,是否有办法获得结果的名称stock
。所以我可以把它放在我的代码上,这样用户就可以填写它,我不必逐个类别地做......就像我之前说的那样。我是新手PHP
,cURL
但我有一些编码经验,只是一种新语言,希望你们能帮助我。
解决方案
首先,您必须将 API 中的 JSON 字符串转换为 PHP 可以理解的对象,我们json_decode()
为此:
//let's assume JSON data has been downloaded and stored in data.json file
$jsonString = file_get_contents(dirname(__FILE__) . '/data.json');
$jsonObject = json_decode($jsonString, true);
接下来,从您在评论中提供的 URL 中,我可以看到"required"
数据存储在settings
key.xml 中。您可以使用 JSON 查看器工具来可视化数据。
我正在使用在线JSON 查看器工具
将其提取到另一个变量,或者只是循环遍历元素:
$arrayRequired = array();
foreach($jsonObject['settings'] as $key => $setting){
if($setting === 'required'){
$arrayRequired[] = $key;
}
}
您需要的密钥现在存储在$arrayRequired
变量中:
print_r($arrayRequired);
Array
(
[0] => immediate_payment
[1] => price
[2] => stock
)
而已。
推荐阅读
- microsoft-graph-api - 端点管理器的 MS-Graph-API,GET AppLocker 文件数据不断抛出 HTTP/400
- c# - 如何为谷歌日历集成创建 credentials.json
- javascript - 在表格中书写时如何替换字符?
- numpy - 高效计算 Numpy 中所有其他元素的乘积
- json - 如何在模板中以角度绑定模型对象中的单个元素
- perl - 在 Perl 严格模式下从变量访问完全限定的变量名
- ios - 从 Podfile 等更改 XCode Target > Build Settings > Architecture
- javascript - 如何在 Svelte 中的不同事件上触发相同的功能
- github - 使用新服务器创建新的 SSH 密钥,还是使用现有密钥?
- python - 如何使用 tf.keras.preprocessing.image.ImageDataGenerator ( TENSORFLOW 2.0 ) 更改某些样本的标签