色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json數(shù)據(jù)存取

在C語(yǔ)言中,要存取JSON格式的數(shù)據(jù),常使用第三方庫(kù)來(lái)完成,其中比較常用的庫(kù)包括cJSON、Jansson等。接下來(lái)以cJSON庫(kù)為例,簡(jiǎn)要介紹如何使用此庫(kù)來(lái)存取JSON格式數(shù)據(jù)。

首先需要在項(xiàng)目中包含cJSON頭文件,然后可以使用cJSON_CreateObject()函數(shù)創(chuàng)建JSON對(duì)象。以下是一個(gè)示例代碼:

#include "cJSON.h"
int main()
{
cJSON *root = cJSON_CreateObject();
if (root)
{
cJSON_AddStringToObject(root, "name", "小明");
cJSON_AddNumberToObject(root, "age", 20);
cJSON_AddBoolToObject(root, "isMale", true);
char *data = cJSON_Print(root);
printf("%s", data);
cJSON_Delete(root);
free(data);
}
return 0;
}

在上面的代碼中,首先是包含了cJSON頭文件。然后通過cJSON_CreateObject()創(chuàng)建了一個(gè)JSON對(duì)象,并向其中添加了三個(gè)鍵值對(duì)(字符串、數(shù)字、布爾值)。在最后通過cJSON_Print()函數(shù)將JSON對(duì)象轉(zhuǎn)為字符串并進(jìn)行輸出。最后需要記得將JSON對(duì)象和字符串釋放。

接下來(lái)是如何解析JSON字符串,將其還原為JSON對(duì)象。以下是一個(gè)示例代碼:

#include "cJSON.h"
int main()
{
char jsonStr[] = "{\"name\":\"小明\",\"age\":20,\"isMale\":true}";
cJSON *root = cJSON_Parse(jsonStr);
if (root)
{
cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name");
if (name)
{
printf("name: %s\n", cJSON_GetStringValue(name));
}
cJSON_Delete(root);
}
return 0;
}

在上面的代碼中,需要注意的是在解析字符串后,根據(jù)JSON對(duì)象中的鍵名使用cJSON_GetObjectItemCaseSensitive()函數(shù)獲取對(duì)應(yīng)的值,使用cJSON_GetStringValue()函數(shù)獲取字符串值。

以上就是使用cJSON存取JSON數(shù)據(jù)的簡(jiǎn)要介紹,也可以通過該庫(kù)提供的其他函數(shù),如cJSON_AddArrayToObject()、cJSON_GetArrayItem()等,來(lái)實(shí)現(xiàn)更豐富的JSON數(shù)據(jù)操作。