2017-11-01 8 views
0
"dynaModel": [ 
{ 
    "map": { 
    "UNIT/SUBUNIT": "EAS", 
    "SUBUNIT/ISU/GEO": "Africa", 
    "'APR-16'_REVENUEUSD-$": "$805,298", 
    "'APR-16'_COSTUSD-$": "$701,026", 
    "'APR-16'_GMINR-RSUSD-$": 12.95, 
    "'Total'_REVENUEUSD-$": "$805,298", 
    "'Total'_COSTUSD-$": "$701,026", 
    "'Total'_GMINR-RSUSD-$": 12.95 
    } 
}, 
{ 
    "map": { 
    "UNIT/SUBUNIT": "fgdfg", 
    "SUBUNIT/ISU/GEO": "dfgdfg", 
    "'APR-16'_REVENUEUSD-$": "$58,", 
    "'APR-16'_COSTUSD-$": "$32,", 
    "'APR-16'_GMINR-RSUSD-$": 43.98, 
    "'Total'_REVENUEUSD-$": "$58,", 
    "'Total'_COSTUSD-$": "$32,", 
    "'Total'_GMINR-RSUSD-$": 43 
    } 
}, 

....に配列のキーと値のペアからJSONを作成する方法を角度2フォーマットの下以下に変換する方法 </p><p>が使用..... angular2

output= [ 
    { 
    "UNIT/SUBUNIT": "hjgh", 
    "SUBUNIT/ISU/GEO": "ghjg", 
    "'APR-16'_REVENUEUSD-$": "$805", 
    "'APR-16'_COSTUSD-$": "$70", 
    "'APR-16'_GMINR-RSUSD-$": 12.95, 
    "'Total'_REVENUEUSD-$": "$80", 
    "'Total'_COSTUSD-$": "$701", 
    "'Total'_GMINR-RSUSD-$": 12 
}, 
{ 
    "UNIT/SUBUNIT": "jjghjhj", 
    "SUBUNIT/ISU/GEO": "hjgh", 
    "'APR-16'_REVENUEUSD-$": "$58,", 
    "'APR-16'_COSTUSD-$": "$32,", 
    "'APR-16'_GMINR-RSUSD-$": 43.98, 
    "'Total'_REVENUEUSD-$": "$58,0", 
    "'Total'_COSTUSD-$": "$32,", 
    "'Total'_GMINR-RSUSD-$": 43.98 
}, 

.. .. ..

];

私は最近次のように試しました 次のコードを使用して最初のjsonファイルからキー値のペアを抽出し、jsonObject配列の各ペアを押します。

jsonObject = []; 

    for(let isugeo of this.responseStatus.dynaModel){  
    for(let isugeomap of this.generateArray(isugeo.map)){ 
     this.jsonObject.push(isugeomap.key+':'+"'" +isugeomap.value+"'");  
    } console.log('Request Completed' + 
    JSON.stringify(this.jsonObject)); 
    }; 


    generateArray(responseStatus){ 
    return Object.keys(responseStatus).map((key) => { return {key:key, value:responseStatus[key]}}); 
} 

が、それは私が

答えて

1

dynaModelを使用するオブジェクトの配列ですオブジェクトをループしてmapプロパティ(オブジェクトでもあります)を選択し、そのオブジェクトをoutput配列に配置します。

let response = { 
    "dynaModel": [ 
    { 
     "map": { 
     "UNIT/SUBUNIT": "EAS", 
     "SUBUNIT/ISU/GEO": "Africa", 
     "'APR-16'_REVENUEUSD-$": "$805,298", 
     "'APR-16'_COSTUSD-$": "$701,026", 
     "'APR-16'_GMINR-RSUSD-$": 12.95, 
     "'Total'_REVENUEUSD-$": "$805,298", 
     "'Total'_COSTUSD-$": "$701,026", 
     "'Total'_GMINR-RSUSD-$": 12.95 
     } 
    }, 
    { 
     "map": { 
     "UNIT/SUBUNIT": "fgdfg", 
     "SUBUNIT/ISU/GEO": "dfgdfg", 
     "'APR-16'_REVENUEUSD-$": "$58,", 
     "'APR-16'_COSTUSD-$": "$32,", 
     "'APR-16'_GMINR-RSUSD-$": 43.98, 
     "'Total'_REVENUEUSD-$": "$58,", 
     "'Total'_COSTUSD-$": "$32,", 
     "'Total'_GMINR-RSUSD-$": 43 
     } 
    } 
    ] 
} 

let output = new Array(); 

for (let object of response.dynaModel) { 
    output.push(object.map); 
} 

console.log(output); 

プリント:それが動作

[ { 'UNIT/SUBUNIT': 'EAS', 
'SUBUNIT/ISU/GEO': 'Africa', 
'\'APR-16\'_REVENUEUSD-$': '$805,298', 
'\'APR-16\'_COSTUSD-$': '$701,026', 
'\'APR-16\'_GMINR-RSUSD-$': 12.95, 
'\'Total\'_REVENUEUSD-$': '$805,298', 
'\'Total\'_COSTUSD-$': '$701,026', 
'\'Total\'_GMINR-RSUSD-$': 12.95 }, 
{ 'UNIT/SUBUNIT': 'fgdfg', 
'SUBUNIT/ISU/GEO': 'dfgdfg', 
'\'APR-16\'_REVENUEUSD-$': '$58,', 
'\'APR-16\'_COSTUSD-$': '$32,', 
'\'APR-16\'_GMINR-RSUSD-$': 43.98, 
'\'Total\'_REVENUEUSD-$': '$58,', 
'\'Total\'_COSTUSD-$': '$32,', 
'\'Total\'_GMINR-RSUSD-$': 43 } ] 
+0

感謝.... :) – user3719363

関連する問題