cjson是一種用于解析json對象的輕量級庫,它采用C語言編寫,能夠幫助開發者快速處理json對象。
cJSON *json = cJSON_Parse(jsonStr); // 解析json字符串 if (json == NULL) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); } else { printf("%s\n", cJSON_Print(json)); // 輸出解析結果 cJSON_Delete(json); // 釋放內存 }
解析json字符串的過程非常簡單,只需要調用cJSON_Parse方法傳入待解析的json字符串即可。如果解析成功,該方法會返回一個cJSON對象。
解析完成后,我們可以使用cJSON_Print方法將cJSON對象打印出來,從而查看解析結果。在使用完cJSON對象后,我們需要使用cJSON_Delete方法釋放內存。
// 獲取json對象中的值 cJSON *username = cJSON_GetObjectItemCaseSensitive(json, "username"); cJSON *age = cJSON_GetObjectItemCaseSensitive(json, "age"); cJSON *email = cJSON_GetObjectItemCaseSensitive(json, "email");
獲取json對象中的值也很簡單,只需要調用cJSON_GetObjectItemCaseSensitive方法傳入cJSON對象和待獲取的key即可。該方法會返回一個cJSON對象,我們可以從中獲取該key對應的值。
除了獲取值之外,我們還可以使用cJSON_GetArraySize方法獲取一個json數組的長度,或者使用cJSON_GetArrayItem方法獲取json數組中對應下標的值。
const cJSON *id = NULL; cJSON_ArrayForEach(id, ids) { printf("%d\n", id->valueint); }
cJSON_ArrayForEach是cjson提供的一種遍歷json數組的方法,它需要傳入一個指向json數組的cJSON對象和一個指向遍歷對象的cJSON對象。在循環中,我們可以使用id->valueint獲取每個數組元素的值。
總之,cjson是一款非常實用的json解析庫,它在處理json對象時非常方便,能夠幫助開發者快速實現json解析的功能。
上一篇vue t 是什么