2015-03-17 3 views
0

У меня есть функция списка для CouchDB, но я не могу получить ее в БД, потому что я постоянно получаю синтаксические ошибки. Вот функция:Символы escape-кода Couch DB

function(head,req) { 
    var headers; 
    start({'headers':{'Content-Type' : 'text/csv; charset=utf-8; header=present'}}); 
    while(r = getRow()) { 
    if(!headers) { 
     headers = Object.keys(r.value); 
     send('"' + headers.join('","') + '"\n'); 
    } 
    headers.forEach(function(v,i) { 
     send(String(r.value[v]).replace(/\"/g,'""').replace(/^|$/g,'"')); 
     (i + 1 < headers.length) ? send(',') : send('\n'); 
    }); 
    } 
} 

Может кто-нибудь показать мне пример этой функции форматированного, который может быть вставлен в CouchDB?

ответ

1

Функции списка хранятся в проектной документации. Проектные документы - это документы JSON, поэтому вам необходимо убедиться, что они соответствуют стандарту JSON. Поскольку функции Список строковые значения в формате JSON, вы должны убедиться, что вы:

  • избежать каких-либо двойные кавычки в функции, так " становится \". По возможности вы должны использовать одинарные кавычки вместо двойных кавычек.
  • Убедитесь, что вы заменяете любые разрывы строк \n или просто удаляете разрывы строк, так как Javascript их игнорирует.
  • Побег любой обратной косой черты, поэтому \ становится \\.
+0

Можете ли вы дать мне пример моей функции со всеми этими правилами? Потому что я сделал все, что вы сказали, и все еще получал синтаксическую ошибку? –

+0

Можете ли вы опубликовать весь документ JSON, который вы пытались загрузить? –

+0

Я получаю эту ошибку https://gist.github.com/anonymous/ba29f400fe6772613383 –