如何将Json解析为JQuery函数并获取函数内的值

时间:2013-04-09 03:36:05

标签: jquery json

我正在尝试创建一个插件“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 ); 

3 个答案:

答案 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。