2017-04-07 4 views
-3

私は以下のようにjsonデータを取得します。フォーマットjavimriptを使用したMuilty dimentional array

[ 

{ 
     "id":5, 
     "entity_id":122, 
     "entity_type":"STUDENT", 
     "edit_type":"UPDATE", 
     "created_by":122, 
     "created_date":"2017-04-04T18:30:00.000Z", 
     "change_log_id":2, 
     "field_name":"full_name", 
     "current_value":"cur14111r name", 
     "previous_value":"old11111 name" 
    }, 
    { 
     "id":7, 
     "entity_id":122, 
     "entity_type":"STUDENT", 
     "edit_type":"UPDATE", 
     "created_by":122, 
     "created_date":"2017-04-04T18:30:00.000Z", 
     "change_log_id":2, 
     "field_name":"country", 
     "current_value":"Syriya11111", 
     "previous_value":"America1111" 
    }, 
    { 
     "id":6, 
     "entity_id":122, 
     "entity_type":"STUDENT", 
     "edit_type":"UPDATE", 
     "created_by":122, 
     "created_date":"2017-04-04T18:30:00.000Z", 
     "change_log_id":2, 
     "field_name":"school", 
     "current_value":"HMV11111", 
     "previous_value":"TMV11111" 
    }, 
    { 
     "id":8, 
     "entity_id":122, 
     "entity_type":"STUDENT", 
     "edit_type":"UPDATE", 
     "created_by":122, 
     "created_date":"2017-04-04T18:30:00.000Z", 
     "change_log_id":2, 
     "field_name":"nick_name", 
     "current_value":"Cokka1111", 
     "previous_value":"Kukka1111" 
    }, 
    { 
     "id":1, 
     "entity_id":122, 
     "entity_type":"STUDENT", 
     "edit_type":"UPDATE", 
     "created_by":122, 
     "created_date":"2017-04-05T23:38:08.000Z", 
     "change_log_id":1, 
     "field_name":"full_name", 
     "current_value":"curr name", 
     "previous_value":"old name" 
    }, 
    { 
     "id":3, 
     "entity_id":122, 
     "entity_type":"STUDENT", 
     "edit_type":"UPDATE", 
     "created_by":122, 
     "created_date":"2017-04-05T23:38:08.000Z", 
     "change_log_id":1, 
     "field_name":"country", 
     "current_value":"Syriya", 
     "previous_value":"America" 
    }, 
    { 
     "id":2, 
     "entity_id":122, 
     "entity_type":"STUDENT", 
     "edit_type":"UPDATE", 
     "created_by":122, 
     "created_date":"2017-04-05T23:38:08.000Z", 
     "change_log_id":1, 
     "field_name":"school", 
     "current_value":"HMV", 
     "previous_value":"TMV" 
    }, 
    { 
     "id":4, 
     "entity_id":122, 
     "entity_type":"STUDENT", 
     "edit_type":"UPDATE", 
     "created_by":122, 
     "created_date":"2017-04-05T23:38:08.000Z", 
     "change_log_id":1, 
     "field_name":"nick_name", 
     "current_value":"Cokka", 
     "previous_value":"Kukka" 
    } 
] 

私はアイデアは次のようにArray.prototype.reduce()使用することですJavaScript. arr[change_log_id][id]["column_name"] = column vale;

+1

それはあなたが求めているものは不明です。 – epascarello

+0

どこから 'column_name'を取得しますか? –

+0

あなたは何を期待していますか? – Prasath

答えて

0

を使用して、このJSONをフォーマットする必要があります。あなたのデータに

var input = [ ... ]; 

var output = input.reduce((acc, value) => { 
    acc[value.change_log_id] = acc[value.change_log_id] || {}; 
    acc[value.change_log_id][value.id] = acc[value.change_log_id][value.id] || {}; 
    acc[value.change_log_id][value.id][value.current_value] = value.current_value; 

    return acc; 
}, []); 

が、それは次のような結果が生成さ設定:

[ , 
    { '1': { 'curr name': 'curr name' }, 
    '2': { HMV: 'HMV' }, 
    '3': { Syriya: 'Syriya' }, 
    '4': { Cokka: 'Cokka' } }, 
    { '5': { 'cur14111r name': 'cur14111r name' }, 
    '6': { HMV11111: 'HMV11111' }, 
    '7': { Syriya11111: 'Syriya11111' }, 
    '8': { Cokka1111: 'Cokka1111' } } ] 
関連する問題