[英]Point the right key with a variable of a json array
我從api獲得以下json數組:
response = {"base":"USD","date":"2015-11-05","rates":
{"AUD":1.3997,"BGN":1.7971,"BRL":3.8008}}
我從以下http查詢得到它:
$http.get(url).success(function(response){
讓我們假設
quote = "AUD";
我怎樣才能指出回應率的澳元價值(即利率= 1.3997)?
$scope.rate = response.rates.quote;
不起作用......
這稱為訪問對象的屬性值,這就是我們這樣做的方式
var quote = 'AUD' var response = {"base":"USD","date":"2015-11-05","rates": {"AUD":1.3997,"BGN":1.7971,"BRL":3.8008}} object = JSON.parse(JSON.stringify(response)) document.write(object.rates[quote])
如果你使用
rates.quote
這意味着quote
是rates
對象的屬性,而不是;
quote
的價值是rates
的屬性
試試這樣吧
$scope.rate = response.rates[quote];
這是必須使用方括號表示法而不是點表示法的時候之一,即使它們通常是可互換的。 當您知道該物業的真實姓名時,您只能使用點表示法。 當您使用變量作為占位符時,必須使用方括號。
Dot notaion有其限制,使用括號已經建議的其他人。
點符號是:
對象屬性名稱可以是任何有效的JavaScript字符串,也可以是可以轉換為字符串的任何內容,包括空字符串。 但是,任何不是有效JavaScript標識符的屬性名稱(例如,具有空格或連字符的屬性名稱,或以數字開頭的屬性名稱)只能使用方括號表示法訪問。 當要動態確定屬性名稱時(在運行時之前未確定屬性名稱時),此表示法也非常有用
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.