1

我正在为 couchDB 写一个列表。我读过的所有文档都假设您希望以 html 或纯文本形式返回数据。但是,我需要它以 JSON 格式返回,与视图返回的方式完全相同(我正在编写的应用程序依赖于此)。

让列表以 JSON 格式返回其数据的正确方法是什么?

4

2 回答 2

2

尝试toJSON(),参见示例

于 2013-01-23T00:20:04.700 回答
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]}");
}

这样,列表的输出与底层视图具有相同的格式。

于 2013-01-23T16:37:36.980 回答