在使用C語言進行數據處理時,通常需要讀取和解析來自外部的數據。JSON是一種常用的數據格式,它可以方便地在不同平臺和編程語言之間進行數據交換。使用JSON API,我們可以輕松地在C語言中解析JSON數據。
#include <stdio.h>
#include <jansson.h>
int main(){
const char* json_string = "{\"name\": \"Tom\", \"age\": 18}";
json_error_t error;
json_t* root = json_loads(json_string, 0, &error);
if(!root){
fprintf(stderr, "parse error: %s\n", error.text);
return 1;
}
json_t* name = json_object_get(root, "name");
if(!json_is_string(name)){
fprintf(stderr, "name is not a string\n");
json_decref(root);
return 1;
}
printf("name: %s\n", json_string_value(name));
json_t* age = json_object_get(root, "age");
if(!json_is_integer(age)){
fprintf(stderr, "age is not an integer\n");
json_decref(root);
return 1;
}
printf("age: %lld\n", json_integer_value(age));
json_decref(root);
return 0;
}
上面的代碼演示了如何解析一個簡單的JSON對象。我們首先將JSON字符串加載到JSON對象中,然后通過json_object_get()函數獲取對象中的值。在獲取值后,我們需要使用json_is_string()和json_is_integer()函數檢查值的類型。最后,我們使用json_string_value()和json_integer_value()函數獲取字符串和整數的值。
C語言的JSON API非常靈活。除了上面演示的函數之外,還有許多其他函數可以用于創建和操作JSON對象。要了解更多信息,請查閱相關文檔。