在C語言中,獲取JSON的鍵需要使用第三方庫,例如jansson。
#include <jansson.h>
int main() {
// 讀取JSON字符串
const char *json_string = "{\"name\":\"Tom\",\"age\":18}";
// 解析JSON
json_error_t error;
json_t *root = json_loads(json_string, 0, &error);
// 獲取鍵
const char *name = json_string_value(json_object_get(root, "name"));
int age = json_integer_value(json_object_get(root, "age"));
// 輸出結果
printf("name: %s\n", name);
printf("age: %d\n", age);
// 釋放資源
json_decref(root);
return 0;
}
以上代碼將JSON字符串解析成一個JSON對象,然后通過json_object_get
函數獲取鍵對應的值,再通過相應的json_*
函數獲取具體類型的值。
需要注意的是,如果JSON中不存在對應的鍵,則會返回NULL或0。
另外,jansson還提供了很多其他的JSON處理函數,可以根據需要使用。