在AJAX调用中,有以下php代码:
$jsonOutput =
"{
id: \"0\",
name: \"dauerreservierung\",
startDate: new Date('".date("Y-m-d", strtotime('-100 year',
$today))."'),
endDate: new Date('".date("Y-m-d", strtotime('+20 year',
$today))."'),
\"color\": \"#FF0000\",
}";
按照这种语法,我确实遇到了问题。那些斜线在那里做什么?为什么将“连接到斜线? 并且:是否在此处创建了关联数组?
答案 0 :(得分:3)
此变量不是数组,而是包含JSON对象的字符串。
在PHP中,如果要将引号放在字符串中,则必须使用\
示例:
$my_life = 'I\'m eating an apple';
$json = "{\"id\": 1, \"value\": 42}";
您应该尝试echo $jsonOutput;
看看发生了什么
答案 1 :(得分:1)
反斜杠(\
)是PHP和JSON中的特殊字符。两种语言都使用它来转义字符串中的特殊字符,并且为了在字符串中正确表示反斜杠,您必须在PHP和JSON中都给它加上另一个反斜杠。
有关更多详细信息,请参阅此PHP手册http://php.net/manual/en/language.types.string.php#language.types.string.syntax.single
,也请参考此StackOverflow link。
答案 2 :(得分:0)
如果您在PHP中使用此响应,请使用
json_decode(input_string)
从json中获取(反斜杠)
如果您使用JavaScript,请使用
string.replace(/\\\//g, "/"); or JSON.parse(input_string)