[英]reformatting json using json_encode for a javascript var
快速问题我真的需要一些帮助,我重新格式化一些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;
1)你不能使用' '
,因为有效-JSON的规范需要" "
,所以任何希望将你的字符串从JSON解析为JS / PHP / etc中的对象的程序都会出错在你身上
2)为什么? JS并不关心您使用哪种方式,如果您在服务器端执行某些操作,请将其保留为多维(可能是关联的)数组。
3)如果它是为了在你的实际字符串中包含" "
,那么用\\
转义它们,如下所示:
$myString = "This is my \"double-quoted\" string";
$myString === 'This is my "double-quoted" string';
$myString === "This is my " . '"double-quoted"' . "string";
如果您将字符串连接在一起,并且其中一个字符串已在字符串本身中包含双引号,那么您的语言将自动确保它们被转义。
我很乐意进一步提供帮助,但我需要知道“为什么?” 部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.