C 數(shù)組是一種常見的數(shù)據(jù)結(jié)構(gòu),而 JSON 作為一種輕量級(jí)的數(shù)據(jù)交換格式,也經(jīng)常被使用。在 C 語言中,我們可以通過各種方式來生成 JSON 格式的數(shù)據(jù),其中一種常見的方法就是使用 C 數(shù)組來構(gòu)造。
#include <stdio.h> #include <jansson.h> int main() { int array[] = {1, 2, 3, 4, 5}; int array_len = sizeof(array)/sizeof(array[0]); json_t *root; json_t *array_json; root = json_object(); array_json = json_array(); for(int i = 0; i < array_len; i++) { json_array_append_new(array_json, json_integer(array[i])); } json_object_set_new(root, "my_array", array_json); char *json_str = json_dumps(root, JSON_INDENT(4)); printf("%s\n", json_str); json_decref(root); free(json_str); return 0; }
在代碼中,我們首先定義了一個(gè)整型數(shù)組 array,然后通過 sizeof 運(yùn)算符和數(shù)組下標(biāo)運(yùn)算來獲取數(shù)組長(zhǎng)度。接著,我們使用 json_object 和 json_array 函數(shù)來創(chuàng)建 JSON 對(duì)象和 JSON 數(shù)組。然后,我們使用循環(huán)將數(shù)組中的元素逐一添加到 JSON 數(shù)組中,使用 json_object_set_new 函數(shù)將 JSON 數(shù)組加入到 JSON 對(duì)象中。最后,我們使用 json_dumps 函數(shù)將 JSON 對(duì)象序列化為字符串,并使用 printf 函數(shù)打印輸出。