Это не JSON.На самом деле, JSON - это не то же самое, что код, его можно интерпретировать с помощью javascript и оценивать как объект.
Сам JSON допускает только статические значения (без parseInt), и любые ключи также должны заключаться в кавычки.
[{
"title": "Sean Kingston1",
"duration": 71
},
{
"title": "Sean Kingston2",
"duration": 71
}]
Использование регулярных выражений и подобных вещей нехорошо.Вам лучше просто отформатировать JSON должным образом.
Хорошо, если вы не можете изменить этот ввод, вы можете решить проблему для этого конкретного ввода с помощью следующих регулярных выражений:
/^\s*(\w+)\s*:/, '"\1":';
/:\s*parseInt\("(\d+)"\,\s*10)/, ': \1';
но для любого изменения во входных данных вам нужно будет добавлять все больше и больше регулярных выражений.
Как правило, для интерпретации JavaScript необходимо ... интерпретировать JavaScript.
Это возможно через установкукакой-то движок js, например Rhino или V8 и связывающий его с Ruby.