繁体   English   中英

将可变数据添加到JSON

[英]Adding variable data to JSON

我有以下Javascript用于播放音乐文件作为使用jwplayer的播放列表

function playAllAudio() {
var audioDiv = "<div id='audioplayer'></div>";
    //Get ids from selected files
var sData = $('input', oTable.fnGetNodes()).serialize();

$.post("mediaStream.do", {OID : sData},function(data) {     
    jwplayer('audioplayer').setup({
        'controlbar': 'bottom',
        'width': '470',
        'height': '24',
        //'playlist': [{file:'mp3:audio/audioMotion'},{file:'mp3:audio/audioTangled'},{file:'mp3:audio/audioSunHands'}],
         'playlist': data,
        'provider': 'rtmp',
        'streamer': 'rtmp://XXXXXXX.cloudfront.net:1935/cfx/st',
        'modes': [
            {type: 'flash', src: 'https://YYYYYYYYY.cloudfront.net/player.swf'}
        ]
    });

});
}

数据是作为JSON字符串动态创建的,其中值是为jwplayer格式化的歌曲文件名

var data = "[{file:'mp3:audio/audioMotion'},{file:'mp3:audio/audioTangled'}]";

然而,当我使用变量'data'时,jwplayer不起作用。 如何使用从服务器传递到javascript的数据?

动态创建的数据是JSON字符串,但jwplayer的playlist配置应该是一个数组,您必须首先将字符串覆盖到数组:

var data = "[{file:'mp3:audio/audioMotion'},{file:'mp3:audio/audioTangled'}]";
data = JSON.parse(data); // with out IE8-

但是在IE8中不支持JSON ,你可以使用Douglas Crockford的json2来修复它。

您可以像调用mediaStream.do那样响应传递它。

你确定json有效吗? 您是否尝试使用http://jsonlint.com/验证响应?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM