C語言中的JSON是一種輕量級的數據交換格式,經常用于在不同的系統中傳遞數據。在C語言中,JSON字符串通常需要轉換成匿名對象。以下是一個簡單的示例,演示如何使用C語言將JSON字符串轉換為匿名對象。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { const char *json_str = "{\"name\":\"user1\",\"age\":30,\"gender\":\"male\"}"; json_error_t error; json_t *root = json_loads(json_str, JSON_DECODE_ANY, &error); if (!root) { printf("error: %s\n", error.text); return -1; } // create anonymous object json_t *anonymous = json_object(); const char *key; json_t *value; json_object_foreach(root, key, value) { json_object_set(anonymous, key, value); } // print anonymous object printf("anonymous object:\n"); char *anonymous_str = json_dumps(anonymous, JSON_ENCODE_ANY); printf("%s\n", anonymous_str); json_decref(root); json_decref(anonymous); free(anonymous_str); return 0; }
在這段代碼中,我使用了jansson庫來處理JSON字符串。首先,我定義了一個JSON字符串“json_str”,這個字符串表示一個名為“user1”的用戶,年齡為30歲,性別為男性。然后,我使用json_loads()函數將JSON字符串轉換成一個json_t對象。
接著,我創建了一個匿名對象,使用json_object()函數,它返回一個空的JSON對象。然后,我使用json_object_foreach()函數遍歷原始JSON對象的每個鍵值對,并使用json_object_set()函數將鍵值對添加到匿名對象中。
最后,我使用json_dumps()函數將匿名對象轉換為JSON字符串,并在控制臺上打印結果。需要注意的是,在完成操作后,需要使用json_decref()函數釋放已分配的內存。
下一篇vue做任務日歷