JSON(JavaScript Object Notation)指的是一种轻量级的数据交换格式,它使用类似于JavaScript对象的格式表示数据。JSON串就是在JSON格式下表现的字符串,它是通过键值对的方式组成的,可以包含数组和嵌套对象。
在c语言中,解析JSON串的过程通常需要借助专门的库进行实现。其中,常用的有CJSON、jansson等库。
// 使用CJSON库解析JSON串的示例代码 #include#include #include"cJSON.h" //引入cJSON库头文件 int main() { char *json_str = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}"; //待解析的JSON串 cJSON *root = cJSON_Parse(json_str); //解析JSON串 if(!root){ //解析失败 printf("Error before: [%s]\n",cJSON_GetErrorPtr()); } else{ //解析成功 cJSON *name = cJSON_GetObjectItem(root, "name"); //获取键名为"name"的键值 cJSON *age = cJSON_GetObjectItem(root, "age"); //获取键名为"age"的键值 cJSON *gender = cJSON_GetObjectItem(root, "gender"); //获取键名为"gender"的键值 printf("name: %s, age: %d, gender: %s\n", name->valuestring, age->valueint, gender->valuestring); //输出解析结果 cJSON_Delete(root); //释放内存 } return 0; }
该示例代码中,首先要引入CJSON库的头文件,然后声明一个待解析的JSON串变量。使用cJSON_Parse函数对JSON串进行解析,并且通过cJSON_GetObjectItem函数获取JSON串中各个键名对应的键值。最后输出解析结果,并释放内存。
对于其他的JSON库,使用方法也类似,只是具体API可能略有区别。