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

c 中處理 json

JSON(JavaScript Object Notation)是一種輕量級(jí)數(shù)據(jù)交換格式,它易于人類閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。在C語(yǔ)言中,有很多庫(kù)可以用來(lái)處理JSON數(shù)據(jù),例如 cJSON、Jansson等。本文將介紹如何使用cJSON庫(kù)來(lái)進(jìn)行JSON數(shù)據(jù)的讀寫操作。

首先需要在代碼中引入cJSON頭文件:

#include <cJSON.h>

然后我們可以開始創(chuàng)建JSON對(duì)象。使用cJSON庫(kù),我們可以通過(guò)一系列函數(shù)來(lái)創(chuàng)建JSON對(duì)象,其中最常用的是cJSON_CreateObject()函數(shù),可以用來(lái)創(chuàng)建一個(gè)JSON對(duì)象:

cJSON *root = cJSON_CreateObject();

接著我們可以使用cJSON_AddItemToObject()函數(shù)來(lái)給JSON對(duì)象添加成員(鍵值對(duì)):

cJSON_AddItemToObject(root, "name", cJSON_CreateString("張三"));
cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(25));
cJSON_AddItemToObject(root, "gender", cJSON_CreateString("男"));

我們也可以給JSON對(duì)象添加一個(gè)數(shù)組成員:

cJSON *array = cJSON_CreateArray();
cJSON_AddItemToArray(array, cJSON_CreateString("C"));
cJSON_AddItemToArray(array, cJSON_CreateString("C++"));
cJSON_AddItemToArray(array, cJSON_CreateString("Java"));
cJSON_AddItemToArray(array, cJSON_CreateString("Python"));
cJSON_AddItemToObject(root, "languages", array);

然后我們可以使用cJSON_Print()函數(shù)將JSON對(duì)象轉(zhuǎn)化為字符串輸出:

char *json_str = cJSON_Print(root);
printf("%s\n", json_str);

將輸出以下內(nèi)容:

{
"name": "張三",
"age": 25,
"gender": "男",
"languages": [
"C",
"C++",
"Java",
"Python"
]
}

我們?cè)谧x取JSON數(shù)據(jù)時(shí)也可以使用cJSON_Parse()函數(shù)將JSON字符串轉(zhuǎn)化為JSON對(duì)象:

char json_str[] = "{\"name\":\"張三\",\"age\":25,\"gender\":\"男\(zhòng)",\"languages\":[\"C\",\"C++\",\"Java\",\"Python\"]}";
cJSON *root = cJSON_Parse(json_str);

然后可以像之前一樣使用cJSON庫(kù)提供的函數(shù)獲取JSON對(duì)象中的成員。例如,我們可以使用cJSON_GetObjectItem()函數(shù)來(lái)獲取JSON對(duì)象中的一個(gè)成員:

cJSON *name_item = cJSON_GetObjectItem(root, "name");
if (name_item != NULL && cJSON_IsString(name_item)) {
printf("name: %s\n", name_item->valuestring);
}

以上就是使用cJSON庫(kù)來(lái)進(jìn)行JSON數(shù)據(jù)讀寫操作的基本流程,讀者可以在此基礎(chǔ)上進(jìn)行更多的嘗試和實(shí)踐。