2016-03-25 54 views
5

如何訪問第二個數字「19」,它位於以下JSON的Numbers數組中?我已經嘗試過每一種方式,一直未能。訪問下列JSON值:

{ 
    "Numbers": [{ 
    "1": 6 
    }, { 
    "2": 19 
    }, { 
    "3": 34 
    }, { 
    "4": 38 
    }, { 
    "5": 70 
    }], 
    "MB": 5, 
    "MP": "05", 
    "DrawDate": "2016-03-22T00:00:00" 
} 
+1

'myVar.Numbers [1] [「2」]' –

+0

在哪種語言? – Jois

+0

Javascript是語言 – ConfusedDeer

回答

3

您將訪問它像這樣:

console.log(jsonObj.Numbers[1][2]); 

這假定您存儲JSON到一個名爲jsonObj變量。 你不能使用數字作爲對象屬性鍵,所以你不能只做jsonObj.Numbers[1].2

1

您可以

obj.Numbers[1][2] 

其中1是對象的數組索引和2訪問其key

4

您可以通過訪問:

object.Numbers[1]['2'] 

也就是說因爲Numbers對象是一個鍵值對象的數組,其中是您期望的值。

1

要做到這一點,你應該分析它爲JavaScript,像這樣:

var myjson = JSON.parse('{"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"}'); 

一旦它被解析,你可以做

myjson.Numbers[1][2] 

訪問密鑰(:19)那麼你會做

myjson.Numbers[1] 
1

將整個json分配給var。

var obj = JSON.parse({"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"}); 



obj.Numbers[1][2] 

你應該能夠訪問它

+0

您不需要使用JSON.parse,因爲它已經是JSON而不是字符串。 –

1

我覺得這是很容易:

var myVars={"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"} 

myVars.Numbers會給你:[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}] 該元素的數組:第一個元素myVars.Numbers[0]{"1":6},第二myVars.Numbers[1]{"2":19}。 Finaly,myVars.Numbers[1][2]是19,如果你想查看在您的第二個數字19這意味着你必須寫:myVars.Numbers[1][2]

+1

我認爲這很容易,但是正如Rayon Dabre所提到的,要記住的一件事是JSON格式不支持無效字符,「對象屬性名稱可以是任何有效的JavaScript字符串或任何可以轉換的對象字符串,包括空字符串,但是,任何不是有效的JavaScript標識符的屬性名稱(例如,具有空格或連字符的屬性名稱,或以數字開頭的名稱)只能使用方塊當屬性名稱被動態確定時,這種表示法也非常有用... – ConfusedDeer