欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json轉換

林玟書1年前7瀏覽0評論

JSON是一種輕量級的數據交換格式。C語言具有操作數據的能力,因此常常需要使用C語言來對JSON數據進行處理。以下是關于C語言中如何轉換JSON的介紹。

一般來說,JSON格式的數據可以通過String類型或File類型讀入C語言。讀入String類型的數據可以使用現成的JSON解析庫(如JSON-C、cJSON等)。這里以cJSON為例來進行介紹。

#include <stdio.h>
#include <cJSON.h>
int main()
{
char *json_string = "{\"name\":\"Tom\", \"age\":25}";
// 解析json字符串
cJSON *root = cJSON_Parse(json_string);
// 從json數據中獲取值
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
// 打印輸出值
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
// 釋放內存
cJSON_Delete(root);
return 0;
}

上述代碼將會輸出:

Name: Tom
Age: 25

cJSON通過cJSON_Parse函數解析json字符串,并返回cJSON結構體指針。然后可以通過cJSON_GetObjectItem函數獲取結構體中的值(支持string、int、double、bool、array等類型)。最后通過cJSON_Delete函數釋放內存。

當然,如果需要將數據轉換為JSON格式輸出,可以使用cJSON_CreateObject和cJSON_CreateString函數進行創建和賦值。以下是一個樣例代碼:

#include <stdio.h>
#include <cJSON.h>
int main()
{
// 創建JSON對象
cJSON *root = cJSON_CreateObject();
// 給對象賦值
cJSON_AddStringToObject(root, "name", "Tom");
cJSON_AddNumberToObject(root, "age", 25);
cJSON *hobbies = cJSON_AddArrayToObject(root, "hobbies");
cJSON_AddItemToArray(hobbies, cJSON_CreateString("swimming"));
cJSON_AddItemToArray(hobbies, cJSON_CreateString("jogging"));
// 將對象轉換為JSON格式的字符串
char *json_string = cJSON_Print(root);
printf("%s\n", json_string);
// 釋放內存
cJSON_Delete(root);
free(json_string);
return 0;
}

上述代碼將會輸出:

{"name":"Tom","age":25,"hobbies":["swimming","jogging"]}

以上是關于C語言中處理JSON數據的簡單介紹,希望能對大家有所幫助。