我是JSON文档的初学者,这是我的代码所以请帮我解决这个错误.
{
"_id" : "_design/utilisateur",
"_rev" : "1-967a00dff5e02add41819138abb3284d",
"views" : {
"tous" : {
"map" : "function(doc){if (doc.role=='utilisateur') {emit (doc._id, [['t0',doc.distancet0],['t1',doc.distancet1],['t2',doc.distancet2],['t3',doc.distancet3], ['t4',doc.distancet4]])}}"
},
"3500" : {
"map" : "function(doc) {if (doc.role=='utilisateur' && doc.distancet0<3500) {emit(doc._id,doc.distancet0)}}"
},
"distancetot" : {
"map" : "function(doc) {var somme= Math.abs(doc.distancet0- doc.distancet1); if(doc.role=='utilisateur'){
emit(doc._id, somme);
}}"
}
}
}
Run Code Online (Sandbox Code Playgroud)
T.J*_*der 39
错误消息告诉您在字符串文字中有控制字符,例如,字符代码8或10或13或任何低于32(空格)的任何内容.
该JSON定义告诉我们,你不能在字符串字面控制字符,则必须使用转义序列,如\b,\r,\n,或\uXXXX在那里XXXX是一个Unicode"码点"十六进制代码(字符).
因此,例如,假装以下内容位于文件(或其他数据流)中:
{
"property": "value with an invalid
control character in it"
}
Run Code Online (Sandbox Code Playgroud)
这是无效的JSON,字符串文字开头"value至少有一个控制字符(换行符,可能是一个或两个控制字符,具体取决于操作系统).
这是我们如何解决它:
{
"property": "value with an valid\nescape sequence in it"
}
Run Code Online (Sandbox Code Playgroud)
注意\n断行的位置.
您可以使用http://jsonlint.com来验证JSON,它非常适合指出错误的位置.
重新编辑:这确实是导致问题的换行符:
"distancetot": {
"map": "function(doc) {var somme= Math.abs(doc.distancet0- doc.distancet1); if(doc.role=='utilisateur'){
Error is here -------------------------------------------------------------------------------------------------^
Run Code Online (Sandbox Code Playgroud)
换行后if(doc.role=='utilisateur'){是一个无效的控制字符,就像我上面的例子一样.
| 归档时间: |
|
| 查看次数: |
53109 次 |
| 最近记录: |