我在使用包含URL的PHP观看JSON输出时遇到问题,我的代码如下:
<?php
$url = "http://1.2.3.4:8080";
Header('Content-type: application/json');
?>{"status" : "URL" : "<?php echo $url ?>"}
我的输出是:
{"status" : "URL" : "http://1.2.3.4:8080
"}
这给出了错误信息:
SyntaxError:JSON.parse:在JSON数据的第1行第19行的对象中,属性值之后应为','或'}'。
我要更改$url = "http://1.2.3.4:8080";
为$url = "test";
它可以工作吗?
如何更改此设置,以便URL也能正常工作?
让我们玩一些基础知识,而不是重新发明轮子:
<?php
$url = "http://1.2.3.4:8080";
Header('Content-type: application/json');
$arr = array('status'=>'success', 'url'=>$url);
echo json_encode($arr, JSON_UNESCAPED_SLASHES);
?>
输出:
{"status":"success","url":"http://1.2.3.4:8080"}
如果字符串中确实有新行,则可以在将值添加到JSON之前对其进行转义:
$url = str_replace(array("\r\n", "\n", "\r"), "", $url);
愿原力与你同在。