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

c 創建對象解析json

黃文隆1年前9瀏覽0評論

在C語言中,我們可以使用第三方庫如cJSON來解析JSON數據。但在使用cJSON之前,我們需要先創建對象來保存JSON數據。

// 創建cJSON對象
cJSON *root = cJSON_CreateObject();
// 添加鍵值對
cJSON_AddNumberToObject(root, "id", 1);
cJSON_AddStringToObject(root, "name", "John");
cJSON_AddBoolToObject(root, "is_student", true);
// 將cJSON對象轉成JSON字符串
char *json_str = cJSON_Print(root);
// 釋放內存
cJSON_Delete(root);

在以上代碼中,我們首先使用cjson_CreateObject()創建一個cJSON對象<變量名>root,然后使用cJSON_AddXXXToObject()函數添加鍵值對,其中XXX可以選擇Number、String、Bool等類型。最后,我們使用cJSON_Print()函數將root對象轉換成JSON字符串,保存在<變量名>json_str中。

當我們需要解析JSON數據時,可以使用函數將JSON字符串轉換成cJSON對象,再通過函數獲取鍵對應的值。

// 解析JSON字符串
cJSON *root = cJSON_Parse(json_str);
// 獲取鍵對應的值
int id = cJSON_GetNumberValue(cJSON_GetObjectItem(root, "id"));
char *name = cJSON_GetStringValue(cJSON_GetObjectItem(root, "name"));
bool is_student = cJSON_IsTrue(cJSON_GetObjectItem(root, "is_student"));
// 釋放內存
cJSON_Delete(root);

在以上代碼中,我們首先使用cJSON_Parse()函數將<變量名>json_str解析成cJSON對象root,然后使用cJSON_GetXXX()函數獲取鍵對應的值。其中函數用于獲取cJSON對象中指定鍵的值,返回的是一個cJSON對象item。我們再使用函數將item對象轉換成對應的類型。最后,我們使用cJSON_Delete()函數釋放內存。