JSON是一種輕量級的數據交換格式,常用于Web應用程序中傳遞數據。C語言也有一些庫可用于進行JSON的序列化和解析,其中比較受歡迎的是cJSON。在cJSON中,object對象是一種鍵值對的集合,可以通過cJSON_AddItemToObject將數據添加到該對象中。
// 創建一個object對象 cJSON *object = cJSON_CreateObject(); // 添加一個字符串到object中的鍵"key1"中 cJSON_AddStringToObject(object, "key1", "value1"); // 添加一個數字到object中的鍵"key2"中 cJSON_AddNumberToObject(object, "key2", 10); // 添加一個bool值到object中的鍵"key3"中 cJSON_AddBoolToObject(object, "key3", true); // 添加一個null值到object中的鍵"key4"中 cJSON_AddNullToObject(object, "key4");
值得注意的是,如果要添加的數據是一個JSON對象,可以使用cJSON_AddItemToObject將其添加到object中。
// 創建一個嵌套的JSON對象 cJSON *innerObject = cJSON_CreateObject(); cJSON_AddStringToObject(innerObject, "key5", "value5"); // 添加嵌套的JSON對象到object中的鍵"key6"中 cJSON_AddItemToObject(object, "key6", innerObject);
當對object對象進行完數據的添加后,可以使用cJSON_Print將其序列化成JSON格式的字符串。如果需要格式化輸出,可以使用cJSON_PrintBuffered替代cJSON_Print。
// 將object序列化為JSON格式的字符串 char *jsonString = cJSON_Print(object); printf("JSON String: %s\n", jsonString); // 釋放內存 cJSON_Delete(object); free(jsonString);