我正在尝试在支付界面网站上收到JSON POST,但我无法对其进行解码.
当我打印:
echo $_POST;
Run Code Online (Sandbox Code Playgroud)
我明白了:
Array
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我什么也得不到:
if ( $_POST ) {
foreach ( $_POST as $key => $value ) {
echo "llave: ".$key."- Valor:".$value."<br />";
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我什么也得不到:
$string = $_POST['operation'];
$var = json_decode($string);
echo $var;
Run Code Online (Sandbox Code Playgroud)
我尝试这个时得到NULL:
$data = json_decode( file_get_contents('php://input') );
var_dump( $data->operation );
Run Code Online (Sandbox Code Playgroud)
当我做:
$data = json_decode(file_get_contents('php://input'), true);
var_dump($data);
Run Code Online (Sandbox Code Playgroud)
我明白了:
NULL
Run Code Online (Sandbox Code Playgroud)
JSON格式是(根据支付站点文档):
{
"operacion": {
"tok": "[generated token]",
"shop_id": "12313",
"respuesta": "S",
"respuesta_details": "respuesta S",
"extended_respuesta_description": "respuesta extendida",
"moneda": "PYG",
"monto": "10100.00",
"authorization_number": "123456",
"ticket_number": "123456789123456", …Run Code Online (Sandbox Code Playgroud) 使用Javascript,我想生成一个页面的链接.页面的参数位于我在JSON中序列化的Javascript数组中.
所以我想生成一个这样的URL:
http://example.com/?data="MY_JSON_ARRAY_HERE"
Run Code Online (Sandbox Code Playgroud)
如何转义我的JSON字符串(数组序列化)以将其作为URL中的参数包含?
如果有一个使用JQuery的解决方案,我会喜欢它.
注意:是的,页面的参数需要在一个数组中,因为它们有很多.我想我会用bit.ly来缩短之后的链接.