在處理JSON數據時,經常會遇到嵌套JSON數據的情況。這時我們需要使用cJSON來處理。
首先,我們需要創建一個cJSON對象。如果我們要在JSON對象里面嵌套一個JSON數據,我們需要創建一個子對象,并將它添加到父對象中。
cJSON *root = cJSON_CreateObject(); // 創建根對象
cJSON *sub_obj = cJSON_CreateObject(); // 創建子對象
cJSON_AddItemToObject(root, "child", sub_obj); // 添加子對象到根對象
現在我們已經在父對象里面嵌套了一個子對象。我們可以在子對象中添加原始數據類型,也可以繼續嵌套子對象。
cJSON_AddStringToObject(sub_obj, "name", "John");
cJSON_AddNumberToObject(sub_obj, "age", 30);
cJSON *grandchild = cJSON_CreateObject();
cJSON_AddStringToObject(grandchild, "relationship", "son");
cJSON_AddItemToObject(sub_obj, "child", grandchild); // 在子對象中嵌套孫子對象
這段代碼創建了一個父對象和一個子對象,并在子對象中添加了一個字符串和一個數字。然后我們又在子對象中創建了一個孫子對象,并將其添加到子對象中。
通過這種方式,我們可以構建任意復雜度的JSON數據。要注意的是,我們需要在使用完cJSON對象后,將其釋放。
cJSON_Delete(root); // 釋放cJSON對象內存