如何从PHP中的JSON响应中删除反斜杠

时间:2019-10-03 06:21:52

标签: php json

我正在收到json响应,如下所述:

"{\"id\":\"order_DPUVoS2YVnBccy\",\"entity\":\"order\",\"amount\":100,\"amount_paid\":0,\"amount_due\":100,\"currency\":\"INR\",\"receipt\":\"7550\",\"offer_id\":null,\"status\":\"created\",\"attempts\":0,\"notes\":[],\"created_at\":1570082483}"

我希望输出为:

{"id":"order_DPUVoS2YVnBccy","entity":"order","amount":100,"amount_paid":0,"amount_due":100,"currency":"INR","receipt":"7550","offer_id":null,"status":"created","attempts":0,"notes":[],"created_at":1570082483}

我尝试使用stripslashes()删除反斜杠,但是它不起作用。

2 个答案:

答案 0 :(得分:0)

当json解码时,您必须这样做:

$data = json_encode('yourjsonvariable'), true, JSON_UNESCAPED_SLASHES);

答案 1 :(得分:0)

“不工作”是什么意思?

<?php

$unescapedJson = '{\"id\":\"order_DPUVoS2YVnBccy\",\"entity\":\"order\",\"amount\":100,\"amount_paid\":0,\"amount_due\":100,\"currency\":\"INR\",\"receipt\":\"7550\",\"offer_id\":null,\"status\":\"created\",\"attempts\":0,\"notes\":[],\"created_at\":1570082483}';

echo stripslashes($unescapedJson);

Output for PHP 7.1.25 - 7.4.0rc2

  

{“ id”:“ order_DPUVoS2YVnBccy”,“ entity”:“ order”,“ amount”:100,“ amount_paid”:0,“ amount_due”:100,“ currency”:“ INR”,“ receipt”: “ 7550”,“ offer_id”:null,“ status”:“ created”,“尝试”:0,“ notes”:[],“ created_at”:1570082483}