2017-08-23 48 views
-2

我如何獲得一個重複的對象的值在JSON,例如:如何獲取JSON中第一個重複對象的值?

{ TableName: 'Table_0', 
    Rows: 
    [ [ 277, '2017-08-22T14:00:00Z' ], 
    [ 263, '2017-08-22T15:00:00Z' ], 
    [ 265, '2017-08-22T16:00:00Z' ], 
    [ 266, '2017-08-22T17:00:00Z' ], 
    [ 265, '2017-08-22T18:00:00Z' ], 
    [ 264, '2017-08-22T19:00:00Z' ] ] } 
{ TableName: 'Table_1', 
    Rows: [ [ '{"Visualization":"table","Title":"","Accumulate":false,"IsQuerySorted":false,"Kind":"","Annotation":"","By":null}' ] ] } 

我只是想第一對象的值,我如何實現這一目標?

完整JSON可以發現here

+2

這不是有效的JSON。 – Utkanos

+0

這是一個較大的Json的片段 –

+0

你自己嘗試過什麼嗎? –

回答

1

您可以使用Array.find來獲得目標對象(基於TableName值):

const data = { Tables: 
 
[{ TableName: 'Table_0', 
 
    Rows: 
 
    [ [ 277, '2017-08-22T14:00:00Z' ], 
 
    [ 263, '2017-08-22T15:00:00Z' ], 
 
    [ 265, '2017-08-22T16:00:00Z' ], 
 
    [ 266, '2017-08-22T17:00:00Z' ], 
 
    [ 265, '2017-08-22T18:00:00Z' ], 
 
    [ 264, '2017-08-22T19:00:00Z' ] ] }, 
 
    { TableName: 'Table_1', 
 
    Rows: [ [ '{"Visualization":"table","Title":"","Accumulate":false,"IsQuerySorted":false,"Kind":"","Annotation":"","By":null}' ] ] }]}; 
 

 
console.log(data.Tables.find(row => row.TableName === 'Table_0').Rows)

如果你不支持ES6 :

var targetObject = data.Tables.find(function(row) { 
    return row.TableName === 'Table_0' 
}) 
console.log(targetObject.Rows) 

如果您知道索引,您還可以使用簡單的數組訪問:

console.log(data.Tables[0].Rows)