在進行 Web 后端開發時,C 語言常常用于編寫服務器程序。而 JSON 是一種常見的數據格式,因此在服務器端需要將 JSON 數據轉換為對象數組進行處理。接下來我們將學習如何使用 C 語言將 JSON 數據轉換為對象數組。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { const char *json_string = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); if(!root) { printf("%s", error.text); return -1; } size_t size = json_array_size(root); for(size_t index = 0; index< size; index++) { json_t *object = json_array_get(root, index); const char *name = json_string_value(json_object_get(object, "name")); int age = json_integer_value(json_object_get(object, "age")); printf("%s\t%d\n", name, age); } json_decref(root); return 0; }
上面的代碼使用了第三方庫jansson來解析 JSON 數據。在代碼中,我們先定義了一個 JSON 字符串,然后使用json_loads
函數將其轉換為 JSON 對象,并檢查是否出錯。
接著,我們使用json_array_size
函數獲取數組的大小,并使用json_array_get
函數獲取數組中指定位置的對象。我們可以使用json_object_get
函數獲取對象中指定字段的值,并使用json_string_value
和json_integer_value
函數將值轉換為字符串和整數。
最后,我們使用json_decref
函數釋放內存。
到這里,我們就學會了如何使用 C 語言將 JSON 數據轉換為對象數組。即使沒有第三方庫的幫助,我們也可以手動解析 JSON 數據,只不過會比較繁瑣。在實際開發中,我們可以根據需要選擇使用第三方庫或手動解析。
上一篇vue判斷對象相等
下一篇python 正整數代碼