C JSON對象可包含數(shù)組元素,提供了一種方便的方式來處理多個相關(guān)數(shù)據(jù)。在JSON中,數(shù)組表示為方括號[]包含一組值,每個值之間用逗號隔開。
以下是一個示例JSON對象,包含兩個數(shù)組元素:
{ "name": "Tom", "age": 30, "hobbies": ["reading", "travelling"], "pets": [ { "name": "Fluffy", "type": "cat" }, { "name": "Buddy", "type": "dog" } ] }
在C語言中使用JSON對象時,通常需要使用第三方庫,如cJSON。以下代碼演示了如何創(chuàng)建上述示例JSON對象:
cJSON* root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "Tom"); cJSON_AddNumberToObject(root, "age", 30); cJSON* hobbies = cJSON_CreateArray(); cJSON_AddItemToArray(hobbies, cJSON_CreateString("reading")); cJSON_AddItemToArray(hobbies, cJSON_CreateString("travelling")); cJSON_AddItemToObject(root, "hobbies", hobbies); cJSON* pets = cJSON_CreateArray(); cJSON* cat = cJSON_CreateObject(); cJSON_AddStringToObject(cat, "name", "Fluffy"); cJSON_AddStringToObject(cat, "type", "cat"); cJSON_AddItemToArray(pets, cat); cJSON* dog = cJSON_CreateObject(); cJSON_AddStringToObject(dog, "name", "Buddy"); cJSON_AddStringToObject(dog, "type", "dog"); cJSON_AddItemToArray(pets, dog); cJSON_AddItemToObject(root, "pets", pets);
以上代碼將創(chuàng)建一個名為root的cJSON對象,該對象包含四個元素,其中hobbies和pets是數(shù)組對象。要訪問數(shù)組元素,可以使用以下語句:
cJSON* hobbies = cJSON_GetObjectItemCaseSensitive(root, "hobbies"); cJSON* firstHobby = cJSON_GetArrayItem(hobbies, 0); const char* hobbyName = cJSON_GetStringValue(firstHobby);
以上代碼通過cJSON_GetObjectItemCaseSensitive獲取hobbies數(shù)組對象,然后使用cJSON_GetArrayItem獲取第一個元素,并使用cJSON_GetStringValue獲取該元素的字符串值。
使用C JSON對象處理數(shù)組元素非常方便,可以快速有效地讀寫和處理多個相關(guān)數(shù)據(jù)。