Думаю, надо сортировать по свойствам. Создаём массив, к примеру, ассоциативный. Потом, приступаем к JSON. Для начала, если это не объект, формируем объект, потом циклом each прогоняем по всем элементам.
Берём первый, по "currency" сравниваем, есть ли он не в массиве, то добавляем (в зависимости от того, какой массив был выбран, добавляем либо только "currency" и к нему "amount", либо объектом). Если уже есть похожий в массиве, то прибавляем к существующему.
Пример:
var jsonObj = $.parseJSON('[{"id":1, "amount":123, "currency" : "CHF"},{"id":2, "amount":321, "currency" : "USD"},{"id":3, "amount":4324, "currency" : "UAH"},{"id":4, "amount":45645, "currency" : "USD"},{"id":5, "amount":8972, "currency" : "CHF"}]');
var data = {};
$.each(jsonObj, function(index, value){
if(!data.hasOwnProperty(value.currency)){
data[value.currency] = value.amount;
}else{
data[value.currency] = data[value.currency] + parseInt(value.amount);
}
});