C語言有很多解析JSON格式數據的庫,但是大部分都不好用,所以我們來介紹一些比較好的JSON解析庫。
1. cJSON
cJSON *root = cJSON_Parse(data); // 解析JSON格式數據 char *out = cJSON_Print(root); // 將JSON格式數據轉化成字符串
2. jsmn
jsmntok_t *tokens = malloc(sizeof(jsmntok_t) * 128); // 定義一個token數組 jsmn_parser parser; jsmn_init(&parser); int ret = jsmn_parse(&parser, data, strlen(data), tokens, 128); // 解析JSON格式數據
3. yajl
yajl_val root = yajl_tree_parse(data, NULL, 0); // 解析JSON格式數據 yajl_val obj = yajl_tree_get(root, path, yajl_t_object); // 獲取具體某個字段的值 yajl_tree_free(root); // 釋放內存
總結
以上是三個常用的C語言JSON解析庫,cJSON具有簡單易用的特點,而jsmn則具備節約內存的優勢,yajl則擁有更為完整的功能。大家可以根據自己的需求選用合適的解析庫。
上一篇gson轉json