快速问题我真的需要一些帮助,我重新格式化一些json将其变成javascript var,我得到它与json_encode一起工作但我需要它输出'符号而不是“符号,有没有办法那样做
我需要它像这样(使用'符号)
{
title:'Greeting',
mp3:'http://www.godsgypsychristianchurch.net/music/Atlanta%20GA/Dey%20duma%20amensa/01%20Greeting.mp3',
buy:'http://www.godsgypsychristianchurch.net/music/Atlanta%20GA/Dey%20duma%20amensa/01%20Greeting.mp3',
price:'Download',
duration:'',
cover:'http://godsgypsychristianchurch.net/music_artwork/DEFAULT_COVER.png'},
我的代码:
foreach ($json['rows'] as $row) {
if ($_GET['churchname'] == $row[doc]['album']) {
$songCount = 0;
foreach ($row['doc']['tracks'] as $song) {
++$songCount;
$arr = array(
"title" => "{$song['name']}",
"mp3" => "{$songUrl}",
"buy" => "{$songUrl}",
"price" => "Download",
"duration" => "",
"cover" => "{$row['doc']['artwork']}",
);
echo json_encode($arr);
}
}
}
exit;
答案 0 :(得分:2)
1)你无法使用' '
,因为valid-JSON的规范需要" "
,所以任何程序都希望将你的字符串从JSON解析为JS /中的对象PHP /等等,你会出错
2)为什么? JS并不关心你使用哪种方式,无论如何,如果你在服务器端做某事,就把它留作多维(可能是关联的)数组。
3)如果它是为了在你的实际字符串中加入" "
,那么用\
转义它们,如下所示:
$myString = "This is my \"double-quoted\" string";
$myString === 'This is my "double-quoted" string';
$myString === "This is my " . '"double-quoted"' . "string";
如果您将字符串连接在一起,并且其中一个字符串已在字符串本身中包含双引号,那么您的语言将自动确保它们被转义。
我很乐意进一步提供帮助,但我需要知道“为什么?”一部分。