我正在为 couchDB 写一个列表。我读过的所有文档都假设您希望以 html 或纯文本形式返回数据。但是,我需要它以 JSON 格式返回,与视图返回的方式完全相同(我正在编写的应用程序依赖于此)。
让列表以 JSON 格式返回其数据的正确方法是什么?
我正在为 couchDB 写一个列表。我读过的所有文档都假设您希望以 html 或纯文本形式返回数据。但是,我需要它以 JSON 格式返回,与视图返回的方式完全相同(我正在编写的应用程序依赖于此)。
让列表以 JSON 格式返回其数据的正确方法是什么?
您需要格式化输出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]}");
}
这样,列表的输出与底层视图具有相同的格式。