C語言中,開發者常常需要將JSON對象作為請求的參數或返回的結果。因此,JSON對象的轉換成為了必不可少的一個步驟。
//下面的代碼列舉了如何將cJSON對象轉換為JSON字符串: cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "Jack"); cJSON_AddNumberToObject(root, "age", 18); char *json_str = cJSON_PrintUnformatted(root); printf("%s", json_str);
該段代碼首先創建了一個cJSON對象root,然后向該對象中添加了兩個鍵值對。其中,鍵值對的值可以是字符串、數字、布爾值、數組或子對象。最后,通過cJSON_PrintUnformatted方法將root對象轉換成為JSON字符串,并打印輸出。
//下面的代碼演示了如何將JSON字符串轉換為cJSON對象: char *json_str = "{\"name\":\"Jack\", \"age\": 18}"; cJSON *root = cJSON_Parse(json_str); char *name = cJSON_GetObjectItem(root, "name")->valuestring; int age = cJSON_GetObjectItem(root, "age")->valueint;
該代碼先定義了一個JSON字符串,并將其賦值給json_str變量。接著,通過cJSON_Parse函數將其解析成為一個cJSON對象root,然后根據鍵名從root對象中獲取了name和age的值,并將其轉換成為C語言對應的類型。
除上述方法外,還能夠通過cJSON庫提供的其他方法來進行JSON對象的轉換。