我正在为couchDB编写一个列表。我读过的所有文档都假定您希望以html或纯文本格式返回数据。但是,我需要以JSON格式返回它,与视图返回的方式完全相同(我编写的应用程序依赖于此)。
让列表以JSON格式返回数据的正确方法是什么?
答案 0 :(得分:2)
答案 1 :(得分:0)
您需要使用send
格式化输出以模仿JSON输出。以下是我们如何在实际案例中执行此操作的示例:
function(head, req) {
start({"headers": {"Content-Type": "application/json"}});
var keys = {};
while (row = getRow()) {
//Code goes here
send("{\"rows\":[");
var init = true;
for (var key in keys) {
if (init) {
send("\n");
init = false;
}
else send(",\n");
send("{\"key\": " + key + ",\"value\":");
send("{\"first_val\":" + val1);
send(", \"second_val\":" + val2);
send(", \"third_val\":" + val3 + "}}");
}
send("\n]}");
}
通过这种方式,列表的输出格式与基础视图的格式相同。