cJSON是一個C語言編寫的開源的輕量級JSON解析庫,它可以有效地將一個JSON格式的字符串轉換成C語言對象,可以很方便地操作JSON數據。本文將主要介紹cJSON對象的屬性值。
//創建一個cJSON對象,可以使用cJSON_CreateObject函數 cJSON *pJsonObj = cJSON_CreateObject(); //添加一個字符串類型屬性,可以使用cJSON_AddStringToObject函數 cJSON_AddStringToObject(pJsonObj, "name", "張三"); //添加一個整型屬性,可以使用cJSON_AddNumberToObject函數 cJSON_AddNumberToObject(pJsonObj, "age", 18); //添加一個布爾類型的屬性,可以使用cJSON_AddBoolToObject函數 cJSON_AddBoolToObject(pJsonObj, "is_student", true); //添加一個double類型的屬性,可以使用cJSON_AddNumberToObject函數 cJSON_AddNumberToObject(pJsonObj, "score", 99.5); //添加一個數組類型的屬性,可以使用cJSON_AddItemToObject函數 cJSON *pArray = cJSON_CreateArray(); cJSON_AddItemToArray(pArray, cJSON_CreateNumber(1)); cJSON_AddItemToArray(pArray, cJSON_CreateNumber(2)); cJSON_AddItemToArray(pArray, cJSON_CreateNumber(3)); cJSON_AddItemToArray(pArray, cJSON_CreateNumber(4)); cJSON_AddItemToObject(pJsonObj, "numbers", pArray); //添加一個對象類型的屬性,也可以使用cJSON_AddItemToObject函數 cJSON *pSubJsonObj = cJSON_CreateObject(); cJSON_AddStringToObject(pSubJsonObj, "major", "計算機科學與技術"); cJSON_AddNumberToObject(pSubJsonObj, "class", 2); cJSON_AddItemToObject(pJsonObj, "info", pSubJsonObj); //獲取屬性值,可以使用cJSON_GetObjectItem函數 cJSON *pItem = cJSON_GetObjectItem(pJsonObj, "name"); if(pItem != NULL) { printf("name: %s\n", pItem->valuestring); }
上述代碼演示了如何創建一個cJSON對象,并添加不同類型的屬性,即字符串、整型、布爾、double、數組和對象類型的屬性。通過cJSON_GetObjectItem函數獲取屬性值。