在C語言中,我們需要解析JSON類型的字符串時,可以使用一些第三方庫來處理,如:Jansson
、cJSON
等。
下面是使用cJSON
庫來解析JSON類型的字符串的示例代碼:
//引入頭文件
#include <stdio.h>
#include <cJSON.h>
int main() {
//待解析的JSON字符串
const char *jsonStr = "{\"name\":\"Tom\",\"age\":18,\"city\":\"Beijing\"}";
//解析JSON字符串為根節點
cJSON *root = cJSON_Parse(jsonStr);
if (root == NULL){
printf("Parse JSON string error!\n");
return 1;
}
//獲取Json中指定鍵的值
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *city = cJSON_GetObjectItem(root, "city");
//輸出Json中的值
printf("name: %s\n", name->valuestring);
printf("age: %d\n", age->valueint);
printf("city: %s\n", city->valuestring);
//釋放根節點占用的內存
cJSON_Delete(root);
return 0;
}
上述代碼中,我們首先引入了cJSON.h
頭文件,然后定義了一個待解析的JSON字符串,接著使用cJSON_Parse
函數將其解析為根節點,如果解析失敗,輸出錯誤信息并返回。接著,我們使用cJSON_GetObjectItem
函數獲取指定鍵的值,然后輸出到控制臺。最后,釋放根節點占用的內存。
總之,使用cJSON
庫來解析JSON類型的字符串非常方便,而且容易上手。