2015-09-13 35 views
-4

JSON数据我有这样的JSON响应:如何到达括号内

google.friendconnect.container["renderOpenSocialGadget"](
{ 

    height: 200, 
    url: "http://username.github.io/", 

    "view-params": {"style":"light","url":"https://www.facebook.com/username","height":"258"}, 

    "prefs": {"style":"light","url":"https://www.facebook.com/username","height":"258"} 

    }, skin); 

我想达到的值,如高度,网址,查看-PARAMS,但不能。 我尝试这样做,但它并没有奏效:

console.log(google.friendconnect.container["renderOpenSocialGadget"].url); 
+1

这不是JSON ... –

+0

@JeffMercado不管它是JSON与否,我怎样才能得到括号内的值? –

+0

@maskedmagician最好的解决方案可能是从服务器请求JSON。那可能吗? –

回答

1

表达google.friendconnect.container["renderOpenSocialGadget"](相当于google.friendconnect.container.renderOpenSocialGadget(

鉴于此,我们看到,这是一个对象的方法,得到一个JSON对象和一个额外的参数(skin)作为参数。

由于该对象以某种方式直接解析到函数调用中,所以一旦该函数使用该函数,就不能再访问该对象。

检查,如果google.friendconnect.container有吸气剂方法(他们通常有...)通过console.log(google.friendconnect.container)

编辑

只是一个想法:你可能赶上通话并且将它传递:

google.friendconnect.container["MyrenderOpenSocialGadget"] = 
     google.friendconnect.container["renderOpenSocialGadget"]; 

google.friendconnect.container["renderOpenSocialGadget"] = function(obj, skin) { 

    // do what you want with obj 
    console.log(obj.url); 

    //call original 
    google.friendconnect.container["MyrenderOpenSocialGadget"](obj, skin); 

}); 
+0

这是整个响应的样子:http://jsfiddle.net/8d23h6ob/ –

+0

@maskedmagician有点复杂,但没有任何区别。 –

相关问题