在使用c語言時,需要從JSON數(shù)據(jù)中獲取值是一個常見的需求。在以下的例子中,我們將展示如何使用c語言從JSON數(shù)據(jù)中獲取值。
#include <stdio.h> #include <jansson.h> int main() { const char *json_string = "{\"name\": \"Tom\", \"age\": 23}"; json_error_t error; json_t *root; root = json_loads(json_string, 0, &error); if(!root) { fprintf(stderr, "Error: on line %d: %s\n", error.line, error.text); return 1; } const char *name = json_string_value(json_object_get(root, "name")); int age = json_integer_value(json_object_get(root, "age")); printf("Name: %s, Age: %d", name, age); json_decref(root); return 0; }
上面的代碼通過jansson庫將JSON數(shù)據(jù)解析為一個json_t結(jié)構(gòu)體。接著,我們可以使用json_object_get函數(shù)來獲取JSON對象的屬性。對于字符串類型的屬性,我們可以使用json_string_value函數(shù),對于整數(shù)類型的屬性,我們可以使用json_integer_value函數(shù)。
最后,我們將屬性的值打印在控制臺上,當然在實際場景中我們可以進行其他的操作。