我正在尝试创建一个插件“bg-rotator”,它采用JSON格式的参数:
$('.selector').bg_rotator({
'duration':500,
'delay':5000
});
然后在我的Jquery函数中,我试图获取JSON对象并拆分值:
(function( $ ){
$.fn.bg_rotator = function(jsonObj) {
var cn = $(this).attr('class'); //get the class name
var obj = JSON.parse(jsonObj); //get the Json object
var duration = obj.duration;
var delay = obj.delay;
};
})( jQuery );
这给了我错误,我找不到解析和获取JSON值的方法。 有任何想法吗?感谢
这有效:
(function( $ ){
$.fn.bg_rotator = function(jsonObj) {
var cn = $(this).attr('class'); //get the class name
var duration = jsonObj.duration; //get the Json object
var delay = jsonObj.delay;
};
})( jQuery );
答案 0 :(得分:3)
JSON是Javascript Object Notation。这个想法是它们本质上只是常规的Javascript对象,所以你可以像常规的Javascript对象一样使用它们。您不需要解析对象,除非它们已经被字符串化。在这种情况下,您只是传递一个常规对象,因此您只需访问该对象的属性,无需解析。
答案 1 :(得分:1)
不要使用JSON.parse,因为您已经传递了json对象
只需删除JSON.parse并尝试它,它就可以了
var obj = jsonObj; //获取Json对象
JSON.parse用于解析字符串到json对象 例如
<强> JSON.parse( “{ '持续时间':500, '延迟':5000}”)强>
答案 2 :(得分:0)
尝试只调用jsonObj.duration。