2013-03-20 22 views
1

为什么我的CouchDB查看结果中包含十六进制数字?我怎样才能摆脱它们?为什么CouchDB中的查看结果中包含十六进制数字?

7f 
{"total_rows":108,"offset":0,"rows":[ 
{"id":"5c718dbd01bc0cde8152e08ed6003405","key":"2013-03-19T22:43:27.2683661Z","value":0} 
5b 
, 

... 

{"id":"5c718dbd01bc0cde8152e08ed6037404","key":"2013-03-19T23:07:35.5972058Z","value":0} 
5b 
, 
{"id":"5c718dbd01bc0cde8152e08ed60376e5","key":"2013-03-19T23:07:35.6062063Z","value":0} 
4 

]} 
1 

0 

TL; DR

我是新来的CouchDB,并正在调查其作为一个事件日志数据库使用。我创建了一个简单的地图功能,按日期查看事件日志:

function(doc) 
{ 
    if (doc.DateTime) 
    { 
     emit(doc.DateTime, doc); 
    } 
} 

当我使用Fiddler与下面的请求来测试这个观点:

GET http://localhost:5984/stuff/_design/eventlog/_view/datetime 

Host: localhost:5984 
User-Agent: Fiddler 

返回的结果中包括该AREN十六进制数是JSON结构的一部分。因此返回的JSON无效。为什么这些十六进制数字包含在结果中,我该如何摆脱它们?

我使用Windows(x86)的CouchDB的1.2.1版。

回答

2

奇怪的十六进制数用于所谓的chuncked传输编码。这是HTTP响应以流格式变得可用的一种方式,而不是客户端必须等待整个响应准备就绪。十六进制数字表示下一个块的长度。

我觉得用分块的独立的接受值的要求,但我不知道。

+0

是的!响应中有'Transfer-Encoding:chunked'标题,它解释了数字。非常感谢。我仔细查看了解释。 – 2013-03-20 11:18:29

+0

@djc不要让人们赞成或接受你的答案。他们会,如果他们想要的,不应该被压入它。 – 2013-03-21 00:49:24

相关问题