在使用 C 語言處理 JSON 格式的數據時,有時候需要根據 key 值取出特定的值。下面是一個簡單的示例,演示了如何使用 cJSON 庫取出 JSON 中某個 key 的值。
#include <stdio.h>
#include <cJSON.h>
int main()
{
char *json_str = "{\"name\":\"Tom\",\"age\":18,\"score\":{\"English\":90,\"Math\":95}}";
cJSON *json = cJSON_Parse(json_str);
// 取出 name 的值
cJSON *name = cJSON_GetObjectItem(json, "name");
printf("name: %s\n", name->valuestring);
// 取出 Math 分數的值
cJSON *score = cJSON_GetObjectItem(json, "score");
cJSON *math = cJSON_GetObjectItem(score, "Math");
printf("Math: %d\n", math->valueint);
// 釋放 cJSON 對象
cJSON_Delete(json);
return 0;
}
首先,需要定義一個 JSON 字符串,這里使用了一個簡單的例子。然后使用 cJSON_Parse 函數將其解析為 cJSON 對象。接著,使用 cJSON_GetObjectItem 函數取出特定 key 值對應的 value。
需要注意的是,在使用 cJSON_GetObjectItem 時,需要指明要取出值的 cJSON 對象和 key 值。如果要取出的值本身是一個 JSON 對象或數組,則需要先取出對象或數組,再取出其中的某個值。
最后,需要使用 cJSON_Delete 函數釋放 cJSON 對象。
上一篇html怎么設置屬性值
下一篇c json 序列化效率