Laravel如何将字符串格式的API响应转换为数组并提取指定值
从API响应中提取db_password值的实现方法
你当前拿到的响应为外层包裹双引号的单引号格式键值对字符串,可通过以下两种方案处理:
方案1:标准化解析(推荐)
先将响应转为标准JSON格式后解析,后续需要提取其他字段时可直接复用,兼容性更强:
$db = Http::get(HERE_URL); // 移除响应首尾的外层双引号 $response_content = trim($db->body(), '"'); // 把内容中的单引号替换为标准JSON要求的双引号 $standard_json = str_replace("'", '"', $response_content); // 解析为数组后提取目标值 $db_config = json_decode($standard_json, true); return $db_config['db_password'];
方案2:正则快速提取
如果仅需要提取当前db_password单个值,可直接通过正则匹配获取,写法更简洁:
$db = Http::get(HERE_URL); // 匹配db_password对应单引号包裹的内容 preg_match("/'db_password'\s*:\s*'([^']+)'/", $db->body(), $match_result); return $match_result[1] ?? '';
内容的提问来源于stack exchange,提问作者mazen
相关产品推荐
相关产品推荐

