C語言中的字符串是以字符數(shù)組的形式存在的,而JSON(JavaScript Object Notation)則是一種輕量級的數(shù)據(jù)交換格式,常用于Web應(yīng)用程序之間的數(shù)據(jù)交換。
對于C語言中的字符串,我們可以通過解析和轉(zhuǎn)換的方式將其轉(zhuǎn)換為JSON對象數(shù)組。下面是一個示例代碼:
#include#include #include #include #include int main() { // 聲明一個包含多個字符串的字符串?dāng)?shù)組 char* str[] = {"{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}", "{\"name\":\"Lisa\",\"age\":20,\"gender\":\"female\"}", "{\"name\":\"John\",\"age\":22,\"gender\":\"male\"}"}; int size = sizeof(str) / sizeof(str[0]); // 獲取字符串?dāng)?shù)組大小 // 定義一個JSON對象數(shù)組 json_t* jsonArr = json_array(); // 遍歷字符串?dāng)?shù)組 for(int i = 0;i< size;i++) { // 將字符串轉(zhuǎn)換為JSON對象 json_error_t error; json_t* jsonObj = json_loads(str[i], 0, &error); if(!jsonObj) { // 判斷是否解析出錯 fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); continue; } // 將JSON對象添加到JSON對象數(shù)組中 json_array_append_new(jsonArr, jsonObj); } // 輸出JSON對象數(shù)組 char* jsonStr = json_dumps(jsonArr, JSON_INDENT(4)); printf("%s\n", jsonStr); // 釋放內(nèi)存 json_decref(jsonArr); free(jsonStr); return 0; }
該代碼會將包含多個JSON字符串的字符串?dāng)?shù)組轉(zhuǎn)換為JSON對象數(shù)組,并輸出其JSON字符串表示。