2016-01-13 46 views
0

我是新來的JavaScript和JSON,所以請原諒我。 如果我有以下JSON對象,我將如何console.log()出autonum的值?我該如何console.log這個JSON對象的一個​​值?

{ 
    "database": "testdb", 
    "table": "path", 
    "affectedColumns": [ 
    { 
     "name": "autonum", 
     "charset": null, 
     "type": 8 
    }, 
    { 
     "name": "TimeStamp", 
     "charset": null, 
     "type": 18, 
     "metadata": { 
     "decimals": 0 
     } 
    }, 
    { 
     "name": "FilePath", 
     "charset": "latin1", 
     "type": 15, 
     "metadata": { 
     "max_length": 256 
     } 
    }, 
    { 
     "name": "DirPath", 
     "charset": "latin1", 
     "type": 15, 
     "metadata": { 
     "max_length": 256 
     } 
    }, 
    { 
     "name": "DirName", 
     "charset": "latin1", 
     "type": 15, 
     "metadata": { 
     "max_length": 256 
     } 
    }, 
    { 
     "name": "EventName", 
     "charset": "latin1", 
     "type": 15, 
     "metadata": { 
     "max_length": 256 
     } 
    }, 
    { 
     "name": "FileName", 
     "charset": "latin1", 
     "type": 15, 
     "metadata": { 
     "max_length": 256 
     } 
    }, 
    { 
     "name": "FileExt", 
     "charset": "latin1", 
     "type": 15, 
     "metadata": { 
     "max_length": 10 
     } 
    }, 
    { 
     "name": "FileSize", 
     "charset": null, 
     "type": 3 
    }, 
    { 
     "name": "MainFlag", 
     "charset": null, 
     "type": 1 
    }, 
    { 
     "name": "DeleteFlag", 
     "charset": null, 
     "type": 1 
    }, 
    { 
     "name": "Status", 
     "charset": "latin1", 
     "type": 15, 
     "metadata": { 
     "max_length": 255 
     } 
    }, 
    { 
     "name": "ProcessedFlag", 
     "charset": null, 
     "type": 1 
    } 
    ], 
    "changedColumns": [], 
    "fields": { 
    "autonum": 121, 
    "TimeStamp": "2016-01-13T00:21:13.000Z", 
    "FilePath": "c:/1E0304F120151223030158001.mp4", 
    "DirPath": "c:\\", 
    "DirName": null, 
    "EventName": null, 
    "FileName": "1E0304F120151223030158001.mp4", 
    "FileExt": ".mp4", 
    "FileSize": 2218108, 
    "MainFlag": 0, 
    "DeleteFlag": 0, 
    "Status": null, 
    "ProcessedFlag": 0 
    } 
} 

我的問題已被問到,但是stackoverflow希望我添加一些更多的細節之前,它會讓我問我的問題。

回答

2

根據其autonum你想要的,假設你的變量存儲JSON是0123語法,你想要做的事如下:

console.log(data.fields.autonum); 

console.log(data.affectedColumns[0].name); 
+0

這個人的答案比較完整。 – shaun

1

你會使用下面的代碼,假設JSON對象被稱爲record

console.log(record.fields.autonum); 
+0

這就是我一直在尋找。 – shaun

0

比方說你的對象名稱var data,然後data.fields.autonum會給我們看重121

console.log(data.fields.autonum) 

僅供參考:

正如MDN網站上所述:

一些JavaScript不是JSON,有的JSON JavaScript不

只是爲了提高詞彙的理解,「JSON對象」是不是在我們的上下文中的事情......這是

序列化對象

1

你必須做的兩種主要方式。兩者都是正確的方法。可以說你的對象被命名爲obj。使用的console.log如下:

  1. console.log(obj.fields.autonum)
  2. console.log(obj['fields']['autonum'])

第一種情況是比較容易的比較第二種情況。 第二種情況是安全的,因爲它可以讓你甚至照顧有空間的鑰匙,例如

var my_other_object = { 
    'Santa Clara': 'USA', 
    'Toronto': 'Canada' 
}; 

console.log(my_other_object['Santa Clara']) // Output will be 'USA' 

的理解,在上述對象聖克拉拉「和「多倫多」被稱爲my_other_object的「鍵」和「美國」,」加拿大被稱爲那些「鑰匙」的「價值」。

所以JSON對象實質上是key:value對的組合。

P.S.在提問時,不要道歉,所有問題都是有效的,但在詢問之前總是進行搜索是很好的。儘管如此,人們總是樂於在這裏幫助。我們都經歷了同樣的階段。 :)

相關問題