gpt4 book ai didi

php - json_encode,json.parse 丢弃一个 '+' 字符?

转载 作者:行者123 更新时间:2023-11-30 09:00:00 25 4
gpt4 key购买 nike

一个简单的问题

php 函数 json_encode 或 js JSON.parse 函数是否默认删除 '+' 字符?我肯定在某处丢失了一个“+”,并且无法弄清楚在哪里。这非常紧急,因为它实际上是来自 realex 的 xml 提要,它授权(或在本例中不授权)我们的一个实时网站上的付款。更复杂的是,我目前无法使用开发环境,也无法在实时站点的屏幕上打印值。所以我试图为开始做一个猜测的修复

好的,这是一些例子

我从 Realex 得到一个值

   $RESPONSE_THREEDSECURE_CAVV = 'jFvMUENpUEzLARAQBtmeh+Q5o/U=';
$parametersToPass['cavv'] = $RESPONSE_THREEDSECURE_CAVV;

parametersToPass 数组中有更多值,但这是导致问题的那个。我用 php 编码

   $encoded = json_encode($parametersToPass);
die($encoded);

这在 jquery ajax 调用成功中作为“数据”返回

 success: function(data) {
$.ajax({
type: "POST",
url: 'action/payment-process_auth.php',
data: "data="+data
});
}

我在 payment-process-auth 中获取它

 $decoded = json_decode($_POST['data']);
$parametersToPass['cavv'] = $decoded->cavv;

此时 cavv 值是 jFvMUENpUEzLARAQBtmeh Q5o/U= 而不是 jFvMUENpUEzLARAQBtmeh+Q5o/U=(空格而不是 +)

我该如何解决这个问题?

最佳答案

不,json_decodeJSON.parse 都尊重 + 字符。

但是,在 URL 中,如果没有正确地对 %2B 进行 urlencoded,则 + 会变成一个空格...所以如果您是 json_decode正在执行一个 $_GET 参数。

关于php - json_encode,json.parse 丢弃一个 '+' 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9996568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com