2013-12-13 122 views
1

我对JSON语法有点新。 如何从这个JSON数组中提取listeners的值?数组json到数组json

http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=31f2cd3c2530c87e110cc5212166d24c&artist=Britney%20Spears&track=If%20U%20Seek%20Amy&format=json

我试着myvar.track.listeners,但它不工作。 有人能指引我正确的方向吗?

,我使用来获取价值的代码是:

function getInfo(artista, titolo) { 
artista = artista.replace(" ","%20"); 
titolo = titolo.replace(" ","%20"); 
$.post("http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=31f2cd3c2530c87e110cc5212166d24c&artist="+artista+"&track="+titolo+"&format=json", {}, function(data) { 
    $("#listeners").html("<span class=\"span_listeners\">Ascoltatori: "+data.track.listeners+"</span>"); 
}, "json"); 
} 
+4

'track.listeners'是正确的,但我相当肯定你不能命名一个变量'var'。检查您的JavaScript控制台是否有错误。更多关于你所尝试的内容也会有所帮助。 –

+0

您可以显示您用来获取JSON的代码吗? –

+0

@JasonP Ops,我没有列出变量'var',这只是为了解释我在做什么。不过,我只是想用jQuery来获得这个价值。 @xaro好的。 – DavideR

回答

1

如果这个JSON保存到一个变量response,然后使用response.track.listeners你应该有你想要的值。您发布的JSON不是数组。 JSON数组由[...]定界,如文档中的阵列track.toptags.tag所示。

0
var my_json = {"track":{"id":"243317.....}; 

console.log(my_json.track.listeners); 

...应该没问题。但是,如果你命名了你的JSON对象“var”,它将无法工作(javascript关键字来声明一个变量)。