2017-02-22 18 views
-2

Мне нужно преобразовать project[maximum_contract_amount_estimated_completion_date] в project.maximum_contract_amount_estimated_completion_date.Как преобразовать строку массива в объект json?

Проблема в том, что я получаю project[maximum_contract_amount_estimated_completion_date] через api в переменной, и это может быть что-то вроде project[blablabla]. Поэтому я хочу применить глобальное решение для всех типов значений, подобных этому.

У меня есть это:

var json = { 
    'key': 'project[maximum_contract_amount_estimated_completion_date]', 
    'value': '2017-02-22' 
}; 

Теперь то, что мне нужно сделать, это вызвать API и передавать данные в

var project = {}; project['maximum_contract_amount_estimated_completion_date'] = '2017-02-22';

Я пробовал JSON.parse, но это не сработало.

Может кто-нибудь, пожалуйста, помогите мне здесь. Я новичок в этом.

Благодаря

+0

первый не похож на действительный что-нибудь ... и то, что вы хотите, не выглядит полезным (какое значение оно должно быть?). .. и, как показано, это абсолютно не имеет отношения к JSON –

+0

Я хочу опубликовать project.maximum_contract_amount_estimated_completion_date как ключ JSON в api. Я получаю проект [maximum_contract_amount_estimated_completion_date] из другого API. –

+1

Вы все еще описали около 10% своей проблемы –

ответ

0

Общий способ будет

var json = { 
    'key': 'project[maximum_contract_amount_estimated_completion_date]', 
    'value': '2017-02-22' 
}; 
var a = json.key.match(/^(.*)\[(.*)\]/); 
window[a[1]] = window[a[1]] || {}; 
window[a[1]][a[2]] = json.value; 
+0

Спасибо, что это сработало. –