首页 » IOS » 集成支付宝时:JSON.parse: unexpected character at line 1 column 1 of the

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

原文 http://blog.csdn.net/rongruosong/article/details/76570048

2017-08-02 11:20:13阅读(479)

集成支付宝时给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的数据要求,如果IOS要求json数据不要对数据进行上面的处理。

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹