Change JSON output format -- now an array of objects
authorChip Black <bytex64@bytex64.net>
Thu, 23 Dec 2010 10:51:06 +0000 (04:51 -0600)
committerChip Black <bytex64@bytex64.net>
Thu, 23 Dec 2010 10:51:06 +0000 (04:51 -0600)
http_blerg.c

index d46313c..8c9aa51 100644 (file)
@@ -98,17 +98,23 @@ ssize_t GET_generate_list(void *cls, uint64_t pos, char *buf, size_t max) {
                return -1;
 
        if (pos == 0) { /* Start iterating */
-               yajl_gen_map_open(gs->g);
+               yajl_gen_array_open(gs->g);
        }
 
        /* Snarf one record */
        blerg_fetch(gs->b, gs->entries[gs->i], &data, &len);
+
+       yajl_gen_map_open(gs->g);
+       yajl_gen_string(gs->g, "record", 6);
        snprintf(number, 21, "%llu", gs->entries[gs->i]);
        yajl_gen_string(gs->g, number, strlen(number));
+       yajl_gen_string(gs->g, "data", 4);
        yajl_gen_string(gs->g, data, len);
+       yajl_gen_map_close(gs->g);
+
        free(data);
        if (gs->i == 0) {
-               yajl_gen_map_close(gs->g);
+               yajl_gen_array_close(gs->g);
                gs->done = 1;
        }
        gs->i--;