当先锋百科网

首页 1 2 3 4 5 6 7

JSON格式由于其简单、轻量,被广泛的应用于各种场景中,而在C语言中,如何读写JSON数据呢?

以"cJSON"为例,它是一个轻量的,用C语言编写的最小的JSON解析器。在使用cJSON中,我们需要使用cJSON_Parse函数将JSON字符串解析成cJSON的结构体,然后可以很方便地获取某个节点的值,如下所示:

cJSON *root = cJSON_Parse(json_string);
if(!root){
printf("Error before: [%s]\n",cJSON_GetErrorPtr());
}else{
cJSON *node = cJSON_GetObjectItem(root,"node_name");
if(!node){
printf("Can't find [%s] node\n","node_name");
}else{
printf("Node value = %s\n",node->valuestring);
}
}

在上述代码中,我们使用了cJSON_Parse函数将json_string解析成了cJSON结构体,然后使用cJSON_GetObjectItem函数获取用"node_name"做key的节点,并输出了节点的值。

除了获取节点的值外,通过cJSON还可以很方便的修改节点的值,只需将相应节点的valuestring或valueint进行赋值即可。