PHP:从json_encode获取正确的转义字符串
我正在用php读取一个json文件,并将其存储在一个变量中,该变量的值为:PHP:从json_encode获取正确的转义字符串,php,regex,json,string,Php,Regex,Json,String,我正在用php读取一个json文件,并将其存储在一个变量中,该变量的值为: $json = {"inp" : "0"} 但是,我需要将其作为输入传递给一个应用程序,该应用程序严格要求其格式为: "{\"inp\" : \"0\"}" 我尝试了str\u replace(“”,“\”),但这将用\\”替换“,给出: "{\\"inp\\" : \\"0\\"}" 应用程序不接受其作为输入 任何关于如何获得所需字符串的说明都将不胜感激。我需要将$json的值设置为“{\“inp\”:“0\”}
$json = {"inp" : "0"}
但是,我需要将其作为输入传递给一个应用程序,该应用程序严格要求其格式为:
"{\"inp\" : \"0\"}"
我尝试了str\u replace(“”,“\”)
,但这将用\\”
替换“
,给出:
"{\\"inp\\" : \\"0\\"}"
应用程序不接受其作为输入
任何关于如何获得所需字符串的说明都将不胜感激。我需要将$json的值设置为“{\“inp\”:“0\”}”。请注意,这不仅仅是转义引号,还有更多的内容。这将提供“{\“inp\”:\“0\”}”。双斜杠again@Bergi是的,我猜他的api也会期望这些被转义。我遇到了这种奇怪的双重json_编码before@user1628340请显示更多代码,必须有一个exrtra步骤导致双斜杠。我认为
str\u replace
应该可以工作。你是如何得到双斜杠的输出的?你是如何“将其传递给应用程序的”?我不知道为什么会得到双引号。有什么想法吗?有一个api需要将参数传递给它。我怀疑字符串中有一个反斜杠,只有output方法会将它们转义(以便您可以将输出用作字符串文字)。请向我们展示您用于输出它们的代码@bergi-在这里:$inp=“”””$inp。“”$inp=json_encode($inp);错误日志($inp);
$json = json_encode('{"inp" : "0"}');