php - 从 json_encode 返回失败
问题描述
我已经安装并工作了 jssor 滑块。我正在尝试添加使用 php 从外部文件更改幻灯片类型的功能。在我未经编辑的 jssor 代码中,如果我输入以下内容作为幻灯片类型,它们将按预期工作:
{$Duration:800,$Opacity:2},
{$Duration:1000,y:1,$Easing:$Jease$.$InBounce,$Opacity:2}
当我尝试从函数加载时,如下面的代码所示,控制台命令的输出是
0: "{$Duration:800,$Opacity:2},"
1: "{$Duration:1000,y:1,$Easing:$Jease$.$InBounce,$Opacity:2}"
如果我去掉引号并将它们放在 _SlideshowTransitions 函数中,它们就可以工作。那么是引起问题的引号吗?如果是这样,我该如何删除这些?还是 jssor 函数不适用于变量?或者是其他东西?
function GetTransitions() {
$xsisitons = array();
$xsisitons[] = '{$Duration:800,$Opacity:2},';
$xsisitons[] = '{$Duration:1000,y:1,$Easing:$Jease$.$InBounce,$Opacity:2}';
return json_encode($xsisitons);
}
$jsondata = GetTransitions();
<script>
var xsitions = <?php echo $jsondata; ?>;
console.dir(xsitions);
var _SlideshowTransitions = [
xsitions
];
</script>
解决方案
你想要的不是正确的json,所以json_encode
不会帮助你。但是,您可以自己构建 js 字符串。
$xsisitons[] = '{$Duration:800,$Opacity:2}';
$xsisitons[] = '{$Duration:1000,y:1,$Easing:$Jease$.$InBounce,$Opacity:2}';
return '[' . join(',', $xsisitons) . ']';
推荐阅读
- java - Java LocalDate 不接受所有 EpochDay 字段有效值
- angular - 更改嵌套对象的属性值 Angular 4+
- string - 数据框中字符串的长度
- php - 重新格式化时间戳
- java - Java @Remote 和编组实体
- terraform - Terraform - 使用本地命令结果作为 tf 文件的变量
- sublimetext3 - Sublime Text 3 Find - 突出显示所有结果,而不是白色轮廓
- javascript - 如何将对象数组中字段的值复制到另一个数组中
- java - memcache 究竟是如何删除过期数据的?
- c# - 调试时,有没有办法让 Visual Studio 在不打开浏览器窗口的情况下为我的 Web API 项目加载 DLL