集成支付宝时:JSON.parse: unexpected character at line 1 column 1 of the JSON data

文章描述了在支付宝集成过程中向iOS端返回JSON数据时遇到的问题。由于支付宝处理后的字符串不符合JSON格式要求,直接转化会导致错误。作者建议若前端需要JSON数据,则避免对数据进行特定处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在集成支付宝时给IOS端返回JSON数据时遇到错误

JSON.parse: unexpected character at line 1 column 1 of the JSON data

支付宝在给请求信息进行签名:

if (str_replace('"','',$_POST['partner'])==$alipay_config['partner']&&str_replace('"','',$_POST['service'])==$alipay_config['service']) {

//将post接收到的数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串。
$data=createLinkstring($_POST);
//打印待签名字符串。工程目录下的log文件夹中的log.txt。
logResult($data);
//将待签名字符串使用私钥签名,且做urlencode. 注意:请求到支付宝只需要做一次urlencode.
$rsa_sign=urlencode(rsaSign($data, $alipay_config['private_key']));
//把签名得到的sign和签名类型sign_type拼接在待签名字符串后面。
$data = $data.'&sign='.'"'.$rsa_sign.'"'.'&sign_type='.'"'.$alipay_config['sign_type'].'"';
//返回给客户端,建议在客户端使用私钥对应的公钥做一次验签,保证不是他人传输。
echo $data;
}
else{
echo "不匹配或为空!";
logResult(createLinkstring($_POST));
}

IOS开发说要json数据,我就直接将$data 数据直接转化为json数据。支付宝处理过的字符串并不符合转化为JSON的数据要求,如果前端要求json数据不要对数据进行上面的处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值