如何使用PHP过滤关注JSON?

How to filter the follow JSON using PHP?

我正在对支付网关执行查询,这是 JSON 我收到的回复的一部分:

"//{\"COLUMNS\":[\"TR_ID\",\"INV_ID_EXT\",\"CUST_ID_EXT\",\"MERCH_ID\", ... ,null,\"510510\",1,24]]}"

如何从字符串中删除“\”以获得真正的转换JSON?

到目前为止我做了什么:

echo $JSON2 = str_replace("//","",$theString); 

我明白了:

"{\"COLUMNS\":[\"TR_ID\", ...

当我尝试 str_replace("\","",$JSON2); 我仍然有 "{\"COLUMNS\":[\"TR_ID\", ...

出于某种原因,我能够删除 // 但不能删除 \

如何从这个字符串中删除 \ 而不是逐个字符循环?

尝试使用 stripslashes() 函数

echo stripslashes($JSON2);

我相信黑色斜线是一种逃避

你试过这样使用str_replace and stripslashes? see here https://eval.in/836989

<?php
$string="//{\"COLUMNS\":[\"TR_ID\",\"INV_ID_EXT\",\"CUST_ID_EXT\",\"MERCH_ID\", ... ,null,\"510510\",1,24]]}";

echo stripslashes(str_replace('//','',$string));
?>

N.B:这将从您的字符串中删除 //\ 字符,但它仍然不是有效的 json .一个有效的 json 将是这样的,所以在这种情况下,您还必须从字符串

中删除最后一个 ]...
{
    "COLUMNS": ["TR_ID", "INV_ID_EXT", "CUST_ID_EXT", "MERCH_ID", null, "510510", 1, 24]
}

为此:https://eval.in/837000

对于 Magic Quotes 问题:PHP stripslashes problem