当先锋百科网

首页 1 2 3 4 5 6 7

在C语言中,我们可以使用第三方库来解析JSON。比如说CJSON,它是C语言中解析JSON的常用库。我们需要先下载和安装CJSON库,然后在我们的程序中引入它。

#include <cjson/cJSON.h>

接下来,我们需要读取JSON字符串,并将其转换为cJSON对象。这可以通过使用cJSON_Parse函数来实现。

const char* json_str = "{\"name\": \"小明\", \"age\": 18}";
cJSON* root = cJSON_Parse(json_str);

现在,我们已经将JSON字符串转换为了cJSON对象。我们可以使用cJSON对象的函数来访问它的属性和值。比如说,我们要访问上面的JSON字符串中的name属性,可以使用下面的代码:

cJSON* name_item = cJSON_GetObjectItem(root, "name");
printf("name: %s\n", name_item->valuestring);

这个代码将打印出:name: 小明。同样的,我们可以使用cJSON_GetObjectItem函数来访问其他属性。

如果我们需要创建一个JSON字符串,可以使用下面的代码:

cJSON* new_json = cJSON_CreateObject();
cJSON_AddStringToObject(new_json, "name", "小明");
cJSON_AddNumberToObject(new_json, "age", 18);
char* new_json_str = cJSON_Print(new_json);
printf("new_json: %s\n", new_json_str);

这个代码将打印出:new_json: {"name":"小明","age":18}。同样的,我们也可以使用cJSON_AddObjectToObject函数来添加其他属性。

在使用C语言解析JSON时,我们需要注意,cJSON对象中的数值类型为double类型,需要使用cJSON_GetNumberValue函数来获取数值。