C JSON是一個快速、輕量級、可嵌入的JSON解析和生成庫,廣泛應用于各種編程語言中。在使用C JSON時,有時候需要按鍵名獲取JSON數據中的值,下面我們就來看看如何實現這個功能。
獲取JSON數據的值需要使用C JSON的API函數,通過指定鍵名來獲取對應的值。以下是C JSON提供的按鍵名獲取值的函數:
// 獲取 JSON 對象的指定鍵名對應的值 cJSON *cJSON_GetObjectItem(const cJSON * const object, const char * const string); // 獲取 JSON 數組中指定下標值對應的元素 cJSON *cJSON_GetArrayItem(const cJSON *array, int index);
以上函數參數解釋如下:
object
:需要獲取鍵值對應值的JSON對象string
:需要獲取的鍵名array
:需要獲取元素的JSON數組index
:需要獲取元素的下標
以下是按鍵名獲取值的示例代碼:
#include "cJSON.h" #include <stdio.h> int main() { // JSON數據 char *json_str = "{ \"name\": \"Adam\", \"age\": 26 }"; // 解析JSON數據 cJSON *json = cJSON_Parse(json_str); // 獲取鍵名為"name"的值 cJSON *value = cJSON_GetObjectItem(json, "name"); printf("name: %s\n", value->valuestring); // 獲取鍵名為"age"的數值 value = cJSON_GetObjectItem(json, "age"); printf("age: %d\n", value->valueint); // 釋放JSON對象 cJSON_Delete(json); return 0; }
以上代碼會輸出以下信息:
name: Adam age: 26
此外,按照需求也可以通過以上函數獲取JSON數組中指定下標元素對應的值,具體使用方法和示例代碼可以參考C JSON官方文檔。
下一篇python 負次冪