CouchDB设计文档的JSON解析错误:缩进空格导致字符串未关闭?
我使用以下CouchDB设计文档进行测试。我使用回车符\n和制表符\t缩进Javascript代码。就我对JSON的理解而言,我认为这些地方的空格是可以的。但是Ruby couchrest无法解析它和JSLint。在解析设计文档之前,我必须从中删除\n和\t。为什么呢 JSON.org上的JSON简介页面提到“可以在任何一对令牌之间插入空格。” 在这里呈现选项卡有点困难,因此我包含了一个带有\n和\t的解析字符串CouchDB设计文档的JSON解析错误:缩进空格导致字符串未关闭?,json,parsing,couchdb,Json,Parsing,Couchdb,我使用以下CouchDB设计文档进行测试。我使用回车符\n和制表符\t缩进Javascript代码。就我对JSON的理解而言,我认为这些地方的空格是可以的。但是Ruby couchrest无法解析它和JSLint。在解析设计文档之前,我必须从中删除\n和\t。为什么呢 JSON.org上的JSON简介页面提到“可以在任何一对令牌之间插入空格。” 在这里呈现选项卡有点困难,因此我包含了一个带有\n和\t的解析字符串 { "_id": "_design/test", "views": { "
{
"_id": "_design/test",
"views": {
"all": {
"map": "function(doc) {
if (doc.nom) emit(doc._id, doc);
}"
},
"asin_doc": {
"map": "function(doc) {
if (doc.category) emit(doc.asin, doc);
}"
},
"asin": {
"map": "function(doc) {
if (doc.category) emit(doc.asin, null);
}"
}
}
}
长字符串中的同一文档(Ruby):
JSLint告诉我第5行字符20有一个问题
Problem at line 5 character 20: Unclosed string.
"map": "function(doc) {
Problem at line 5 character 20: Stopping. (25% scanned).
JSON: bad.
我看不出哪根绳子没有关好。有什么想法吗?字符串中不允许使用换行符和制表符。具体见:
unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
编辑:我想json.org所说的是:
允许在六个结构字符中的任何一个之前或之后使用不重要的空格
“结构字符”是:[]{}:,
unescaped = %x20-21 / %x23-5B / %x5D-10FFFF