Конечно, это какие-то непонятные танцы с бубном с невнятной целью, так что вся моя предыдущая критика весьма сомнительна
Возможно, наиболее корректный - в данной ситуации - вариант замены ключа с сохранением значения
var custom = {
key: {
label: "test"
}
};
custom = JSON.parse('{"type":' + JSON.stringify(custom.key) + '}');
alert(JSON.stringify(custom));