PHP+CURL调用供应商API提交JSON数据格式问题咨询
修正PHP代码以匹配API的POST请求格式
目标JSON格式(API要求)
{ "import": { "members": [ { "name": "用户名", "email": "用户邮箱", // 其他成员字段... } ] } }
修正后的PHP代码
假设你原本的单个成员数据是$memberInfo,只需在外层包裹import结构,并将成员数据放入members数组中:
// 收集单个用户的注册数据 $memberInfo = [ 'name' => $_POST['username'], 'email' => $_POST['useremail'], // 补充其他需要的字段 ]; // 构造符合API要求的结构 $postData = [ 'import' => [ 'members' => [$memberInfo] // 单个成员放入数组 ] ]; // 转换为JSON字符串 $jsonData = json_encode($postData); // 后续执行POST请求(示例) $ch = curl_init('供应商API地址'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch);
关键改动点
- 新增外层
import键,对应一个关联数组 - 将单个成员数据放入
members数组中(即使只有一条数据,也要保持数组格式)
内容的提问来源于stack exchange,提问作者user1684922
相关产品推荐
相关产品推荐

