在使用C語言處理JSON數據時,經常需要獲取指定的字段值。下面介紹使用C語言獲取JSON中某個字段值的方法。
#include <stdio.h> #include <jansson.h> int main() { const char* json_str = "{ \"name\": \"張三\", \"age\": 23, \"score\": [80, 90, 85] }"; json_error_t error; json_t* root = json_loads(json_str, JSON_ALLOW_NUL, &error); if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } json_t* name_value = json_object_get(root, "name"); if (!name_value) { fputs("error: no \"name\" field in JSON object\n", stderr); return 1; } if (!json_is_string(name_value)) { fputs("error: \"name\" field is not a string\n", stderr); return 1; } const char* name = json_string_value(name_value); printf("name: %s\n", name); json_decref(root); return 0; }
在上面的代碼中,首先定義了一個JSON字符串。接著使用json_loads函數將JSON字符串轉換為JSON對象,并通過json_object_get函數獲取了"name"字段的值。最后判斷獲取的值是否為字符串類型,如果是,則輸出"name"字段的值。
下一篇vue 商城 ui組件