C String to JSON
#include#include #include #include #include #define MAX_LEN 1024 bool get_json_obj(const char *c_str, cJSON **obj) { *obj = cJSON_Parse(c_str); if (*obj == NULL) { return false; } return true; } int main() { char c_str[MAX_LEN] = "{\"name\": \"Tom\", \"age\": 18}"; cJSON *obj = NULL; if (!get_json_obj(c_str, &obj)) { printf("parse failed\n"); return -1; } cJSON *name = cJSON_GetObjectItem(obj, "name"); cJSON *age = cJSON_GetObjectItem(obj, "age"); printf("name: %s, age: %d\n", name->valuestring, age->valueint); cJSON_Delete(obj); return 0; }
上面的代碼演示了如何將一個c字符串轉化為JSON,并對JSON進行解析。
首先,我們需要使用第三方庫cJSON來操作JSON,因此需要引入頭文件
接著,我們定義了一個MAX_LEN來表示c字符串的最大長度。
在get_json_obj函數中,我們使用cJSON_Parse函數將c字符串轉換為JSON對象,并檢查轉換是否成功。
在main函數中,我們創建了一個c字符串,并將其轉換為JSON對象。
然后,我們使用cJSON_GetObjectItem函數獲取JSON對象中的name和age屬性。
最后,我們輸出屬性值,并釋放JSON對象。
使用cJSON,我們可以很容易地將c字符串轉化為JSON,并進行解析,使得編寫JSON解析器變得更加方便。
上一篇mysql創表一對多
下一篇mysql創建非空約束