2016-12-19 9 views
-2

プレーンなJavaスクリプトの関数を使用せずに、次のように既存のjsonオブジェクトを更新しようとしています。これはインタビューの1つで尋ねられます。JSONオブジェクトの値を変更して別のJSONオブジェクトに入れる

{ 
    "sizes": { 
    "c": { 
    "width": 800, 
    "height": 534 
    }, 
    "h": { 
    "width": 1600, 
    "height": 1067 
    }, 
    "k": { 
    "width": 2048, 
    "height": 1366 
    }, 
    "l": { 
    "width": 1024, 
    "height": 683 
    }, 
    "m": { 
    "width": 500, 
    "height": 333 
    }, 
    "n": { 
    "width": 320, 
    "height": 213 
    }, 
    "q": { 
    "width": 150, 
    "height": 150 
    }, 
    "s": { 
    "width": 240, 
    "height": 160 
    }, 
    "q": { 
    "width": 75, 
    "height": 75 
    }, 
    "t": { 
    "width": 100, 
    "height": 67 
    }, 
    "z": { 
    "width": 640, 
    "height": 427 
    } 
} 
} 

任意のヘルプは次のようになりappreciated.Iが出発点を探しています:添付

{ 

    "height_c": 534, 
    "width_c": "800", 
    "height_h": 1067, 
    "width_h": "1600", 
    "height_k": 1366, 
    "width_k": "2048", 
    "height_l": "683", 
    "width_l": "1024", 
    "height_m": "333", 
    "width_m": "500", 
    "height_n": 213, 
    "width_n": "320", 
    "height_q": "150", 
    "width_q": "150", 
    "height_s": "160", 
    "width_s": "240", 
    "height_sq": 75, 
    "width_sq": 75, 
    "height_t": "67", 
    "width_t": "100", 
    "height_z": "427", 
    "width_z": "640" 

} 

は私の期待のファイルです:添付

は私の入力ファイルです。

+0

機能は、プレーンJavascriptを – Agalo

+0

における第一級オブジェクトです私は機能せずに任意のサードパーティのモジュール/ libs.'を使用せずに '実際に意味の任意functions'を使用せずに、あなたもではないでしょう'疑い最初のjson文字列を取得することができます。そうした場合は、それを変更することはできません。 –

+0

@KevinBはい.... –

答えて

1

var input = { 
 
    "height_c": 534, 
 
    "width_c": "800", 
 
    "height_h": 1067, 
 
    "width_h": "1600", 
 
    "height_k": 1366, 
 
    "width_k": "2048", 
 
    "height_l": "683", 
 
    "width_l": "1024", 
 
    "height_m": "333", 
 
    "width_m": "500", 
 
    "height_n": 213, 
 
    "width_n": "320", 
 
    "height_q": "150", 
 
    "width_q": "150", 
 
    "height_s": "160", 
 
    "width_s": "240", 
 
    "height_sq": 75, 
 
    "width_sq": 75, 
 
    "height_t": "67", 
 
    "width_t": "100", 
 
    "height_z": "427", 
 
    "width_z": "640" 
 
} 
 

 
var output = {} 
 

 
for (var key in input) { 
 
    var split = key.split('_') 
 
    if (!output[split[1]]) output[split[1]] = {}; 
 
    output[split[1]][split[0]] = input[key]; 
 
} 
 

 
document.body.appendChild(document.createTextNode(JSON.stringify({sizes: output}, null, 4)));
body { white-space: pre; font-family: monospace; }

関連する問題