在 C 語言中,將數(shù)組轉(zhuǎn)換為 JSON 字符串?dāng)?shù)組需要使用 JSON-C 庫(kù)。
JSON-C 是 C 語言的一個(gè)庫(kù),可用于解析和構(gòu)建 JSON 數(shù)據(jù)。利用這個(gè)庫(kù),我們可以很容易地將數(shù)組轉(zhuǎn)換為 JSON 字符串?dāng)?shù)組。
#include <stdio.h> #include <stdlib.h> #include <json-c/json.h> int main() { int numbers[] = {1, 2, 3, 4, 5}; char* json_str[5]; int i; for (i = 0; i < 5; i++) { json_object *jobj = json_object_new_object(); json_object *jnum = json_object_new_int(numbers[i]); json_object_object_add(jobj, "number", jnum); json_str[i] = strdup(json_object_to_json_string(jobj)); json_object_put(jobj); } for (i = 0; i < 5; i++) { printf("%s\n", json_str[i]); free(json_str[i]); } return 0; }
在此示例中,我們首先定義了一個(gè)名為 numbers 的整數(shù)數(shù)組,其中包含了一些數(shù)字。然后,我們聲明了一個(gè) char 類型的指針數(shù)組 json_str,該數(shù)組將用于存放 JSON 字符串。
接下來,我們使用 for 循環(huán)來遍歷整數(shù)數(shù)組。在每次迭代中,我們首先創(chuàng)建一個(gè) json_object 對(duì)象,并使用 json_object_new_int 函數(shù)將數(shù)字轉(zhuǎn)換為 JSON 數(shù)字對(duì)象。我們還使用 json_object_object_add 函數(shù)將這個(gè) JSON 數(shù)字對(duì)象添加到新創(chuàng)建的 JSON 對(duì)象中。
然后,我們使用 json_object_to_json_string 函數(shù)將 JSON 對(duì)象轉(zhuǎn)換為 JSON 字符串,并使用 strdup 函數(shù)將其分配到 json_str 數(shù)組中的新字符串地址。最后,我們使用 json_object_put 函數(shù)釋放 JSON 對(duì)象。
最后一個(gè) for 循環(huán)用于遍歷 json_str 數(shù)組,并打印每個(gè) JSON 字符串。在輸出后,我們使用 free 函數(shù)釋放內(nèi)存。