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

c json obj

錢瀠龍1年前9瀏覽0評論

在C語言中,有很多庫可以幫助開發者快速地解析和生成JSON數據。其中,cJSON是比較常用的一個庫,它可以將JSON數據解析成C語言中的JSON對象或字符串,也可以將C語言中的JSON對象或字符串轉換成JSON數據。以下是一些cJSON庫的基本用法和示例。

首先,我們需要在代碼中引入cJSON庫:

#include "cJSON.h"

接下來,我們可以使用cJSON庫提供的函數來解析JSON數據。

char *json_string = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
cJSON *root = cJSON_Parse(json_string);
if (root != NULL) { 
cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name");
cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age");
cJSON *city = cJSON_GetObjectItemCaseSensitive(root, "city");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint );
printf("City: %s\n", city->valuestring);
cJSON_Delete(root);
}

以上代碼解析了一個JSON格式字符串,并將其轉換成一個C語言中的JSON對象root。通過cJSON_GetObjectItemCaseSensitive函數,我們可以根據key獲取對應的value。其中name和city的值為字符串類型,需要通過cJSON_GetObjectItemCaseSensitive(root, "name") ->valuestring獲取;age的值為整型,需要通過cJSON_GetObjectItemCaseSensitive(root, "age") ->valueint獲取。接下來,我們可以通過cJSON_Delete函數釋放掉剛才解析出來的JSON對象。

如果我們要生成一個JSON數據,我們可以使用如下代碼:

cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "John");
cJSON_AddNumberToObject(root, "age", 30);
cJSON_AddStringToObject(root, "city", "New York");
char *json_string = cJSON_PrintUnformatted(root);
cJSON_Delete(root);
printf("%s\n", json_string);

以上代碼創建了一個空的JSON對象root,并通過cJSON_AddStringToObject和cJSON_AddNumberToObject函數添加了三個key/value對。接著,我們通過cJSON_PrintUnformatted函數將JSON對象轉換成JSON格式字符串,最后用printf輸出。

以上就是cJSON庫的基本用法和示例。cJSON庫簡單易用,而且對于一些簡單的JSON解析和生成任務來說,足夠滿足需求。如果需要處理更為復雜的JSON數據,建議使用更為強大的JSON庫。