C語言中序列化JSON格式數據嵌套十分常見,它能夠將復雜的數據結構轉換為JSON格式的字符串方便傳輸和存儲。當數據結構中嵌套了其他的數據結構時,我們需要使用嵌套的方式進行序列化,下面我們用一個簡單的例子來講解。
#include "cJSON.h" #include <stdio.h> int main() { cJSON *root = cJSON_CreateObject(); cJSON *item1 = cJSON_CreateObject(); cJSON *item2 = cJSON_CreateObject(); cJSON_AddItemToObject(root, "item1", item1); cJSON_AddItemToObject(item1, "item2", item2); cJSON_AddNumberToObject(item2, "num", 123); char *json_data = cJSON_Print(root); printf("%s", json_data); cJSON_Delete(root); return 0; }
以上代碼中,我們通過cJSON庫創建了三個cJSON對象root、item1、item2,并通過AddItemToObject函數及其變體方法將item1和item2串聯起來,最終將數據序列化為JSON格式字符串。
在給item2添加num屬性時,我們使用到了AddNumberToObject方法。這個方法可以給一個JSON對象添加一個名為name的double類型的屬性。同理,還有AddStringToObject、AddItemToObject等方法來添加不同類型的屬性。
序列化JSON格式數據嵌套在C語言中是非常方便的。我們只需要通過cJSON庫創建和處理cJSON對象即可,代碼結構清晰,易于維護。