在C類語言中,JSON是一種非常常見的數據格式,我們經常需要在我們的程序中處理JSON數據。在本文中,我們將介紹如何在C類語言中接收JSON字符串。
#include <stdio.h> #include <string.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) { printf("error: on line %d: %s\n", error.line, error.text); return 1; } json_t *name = json_object_get(root, "name"); json_t *age = json_object_get(root, "age"); char *name_str = json_string_value(name); int age_int = json_integer_value(age); printf("name: %s\n", name_str); printf("age: %d\n", age_int); json_decref(root); return 0; }
在這個例子中,我們首先定義了一個JSON字符串。然后使用json_loads()函數將其加載成JSON對象。如果加載失敗,我們將打印出錯誤信息并退出程序。
一旦我們成功加載了JSON字符串,我們就可以通過json_object_get()函數獲取JSON對象中的鍵值對。在這個例子中,我們獲取了名字和年齡的值,并將其轉換為C類變量。
最后,我們使用printf()函數打印出我們獲取的值,并使用json_decref()函數釋放我們從json_loads()函數中獲取的對象。
這是一個簡單的例子,但是在實際應用中可能需要更復雜的JSON對象。通過理解這個例子,您可以更好地理解C類語言如何接收JSON字符串,并在您的程序中正確地處理JSON數據。