php 反斜杠详解_如何避免从PHP返回的JSON中的反斜杠?

在尝试从PHP返回JSON数据时,遇到了反斜杠导致的格式问题。尽管指定了`datatype: 'json'`,JSON字符串仍然带有反斜杠。问题可能在于PHP到JavaScript的数据传输过程中。在PHP端,`json_decode`和`json_encode`操作可能引入了不必要的反斜杠。寻求解决方案,以便能够正确接收和处理JSON数据。
摘要由CSDN通过智能技术生成

我在下面的代码中遇到了一些麻烦。控制台数收益:如何避免从PHP返回的JSON中的反斜杠?

"returningList{"view":0,"new":1,"random":1} result: "{\"view\":0,\"new\":1,\"random\":1}""

正如你可以看到它的收单反斜线,使其不再JSON,尽管指定datatype : 'json'。

问题似乎发生在从PHP读回javascript的结果,因为如果我在写回$jsonArr到MySQL之前回显SQL数据显示正确的字符串(即没有反斜杠)。

请帮忙,因为这种明显的疯狂真的让我兴奋起来。我想要做的就是获取我的数据 - 在我的实际代码中,我通常不会返回作为数据传入的JSON,但这里只需证明这一点就足够了。我认为'json'数据类型意味着它会接受回声JSON而不会破坏它。

对于以下直言不讳,但为了回应类似的问题,我看到人们只是说“它逃避了引号”,就好像那个回答了这个问题 - 在这种情况下,至少它似乎没有:显然(AFAIK)是反斜杠的来源,但引号是JSON语法的一部分(它知道它是期望的),而不是字段内容的一部分,所以它们显然不应该被转义。我需要一个解决方案请。谢谢。

window.newGot = listBuild({

'view' : 0,

'new' : 1,

'random' : 1

});

function listBuild(options)

//Fill the new list.

return $.ajax({

type : "POST",

url : "./php/getList.php",

cache : false,

data : {

options : JSON.stringify(options)

},

datatype : "json"

}).then(function(jsonList) {

console.log('returningList' + JSON.stringify(options) + ' result: ' + JSON.stringify(jsonList));

return jsonList;

});

}

这里的php文件内容:

$options = json_decode($_POST['options'], true);

$jsonArr = json_encode($options);

echo $jsonArr;

2014-09-24

SteveC

+1

的斜线不会引起任何问题,这是相当正常的,因为据我所知? –

2014-09-24 18:10:49

+2

为什么您将JSON作为字符串传递给'data',然后在服务器端对其进行解码,是没有意义的? –

2014-09-24 18:12:23

+0

@adeneo - 我也有点困惑,为什么你要处理的数据也是这种感觉 - 你不能把它作为一个对象,并允许AJAX函数来处理转换? –

2014-09-24 18:14:08

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值