Ух ты, так получается, что я совершенно не понял, о чем говорила ошибка. То, что это происходило на полях, содержащих юникод, было совпадением. Проблема real заключалась в том, что я вызывал JSON.parse внутри обработчика .on ("data", ...), который обрабатывает часть чанкованного ответа; может быть недействительным терминатором оператора JS до завершения чанка. Правильный способ справиться с этим - построить тело и затем использовать ("конец") для его анализа.
var message = "";
https.get(options, function(res){
res.setEncoding('utf8');
res.on('data', function(data){
message += data;
});
res.on('end', function(){
if(callback){
var data = JSON.parse(message);
data.items = data.items || [];
callback(data);
}
});
res.on('error', function(error){
console.log("ERROR" + error.message);
});