在对接某聚合支付时候,支付结果对方以post形式返回到我的服务器
通过打印得到post数据如下:
'_POST' =>
array (
'{"interfaceType":"2","memberCode":"1010000873","orderNum":"1841503477441840955","payMoney":"2_00","payNum":"20170823163726423137","payTime":"20170823163735","payType":"2","platformType":"3","respType":"2","resultCode":"0000","resultMsg":"浜ゆ槗鎴愬姛","signStr":"wiTuiG4lWOYVW/qKjJXWzY8Kt7zLDpufRqJCiuazt8AykrviD2Y_1QlIoDlttm5/6a6gmBhdCgATUc6TOGwcXQ' => '="}',
),
所有有效数据都是在array的键名中。请问怎么提取
<br> <br> <br> <br>
"signStr":"wiTuiG4lWOYVW/qKjJXWzY8Kt7zLDpufRqJCiuazt8AykrviD2Y_1QlIoDlttm5/6a6gmBhdCgATUc6TOGwcXQ' => '="}',
问题根源
其实signStr 的值是
wiTuiG4lWOYVW/qKjJXWzY8Kt7zLDpufRqJCiuazt8AykrviD2Y_1QlIoDlttm5/6a6gmBhdCgATUc6TOGwcXQ==
不清楚为什么尾部变成6TOGwcXQ' => '="}',
这个具体要看你和支付接口之间的关系,最好说一下支付方式是哪一种 查查文档,不难的
这就是一般json格式的数据吧,看看对方的接口文档里的有没有相关的步骤
就是个json var orderNum = new JSON.parse(str).orderNum
这是一串json数据,json数据转换为PHP数组可以用 json_decode() 函数
楼主确认支付接口返回的字符串中就是尾部变成6TOGwcXQ' => '="}', ?? 如果是这样的话,你这个返回的就不是一个标准的JSON字符串了。。那么就是接口方的问题,不过这个可能性很小,应该是你程序中哪里做了什么替换还是其它什么操作影响到接口返回的字符串了。 你需要直接去确认POST返回给你的字符串。然后修正你的代码
如果有用,请采纳,谢谢!
可以用GSon或者自带的JSonArray类来出处理